sent в utf8

Тема в разделе "Другие языки", создана пользователем ufaclub, 11 сен 2010.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. ufaclub

    ufaclub

    Регистр.:
    1 май 2007
    Сообщения:
    395
    Симпатии:
    17
    PHP:
       <!--  Beginning Module Acajoom PRO 4.1.5   -->


                    <
    script language="javascript" type="text/javascript">
                    <!--
                        function 
    submitacajoommod1(formname) {
                            var 
    form = eval('document.'+formname);var place form.email.value.indexOf("@",1);var point form.email.value.indexOf(".",place+1);
                            if (
    form.name.value == "" || form.name.value == "Имя") {
                                
    alert"Пожалуйста, введите Ваше настоящее имя." );return false;
                            } else
                     if (
    form.email.value == "" || form.email.value == "Электронная почта") {alert"Пожалуйста, введите правильно адрес e-mail." );return false;
                            } else {if ((
    place > -1)&&(form.email.value.length >2)&&(point 1)){form.submit();return true;
                                } else {
    alert"Пожалуйста, введите правильно адрес e-mail." );return false;}}}
                     
    //--> 
                    
    </script><form action="http://send.site-1.ru/index.php?option=com_acajoom" method="post" name="modacajoomForm1">
                <div class="" >
    <input id="wz_31" type="checkbox" class="inputbox" value="1" name="subscribed[1]"  checked="checked"  />
    <input type="hidden" name="sub_list_id[1]" value="1" />
    <span class="aca_list_name"><span class="editlinktip hasTip" title="Подписка на новости::" ><a href="/index.php?option=com_acajoom&amp;Itemid=999&amp;act=mailing&amp;task=archive&amp;listid=1&amp;listype=1">Подписка на новости</a></span></span>
    <br /> 
     
    <input type="hidden" name="acc_level[1]" value="0" />

    <input id="wz_11" type="text" size="10" value="Имя" class="inputbox" name="name" onblur="if(this.value=='') this.value='Имя';" onfocus="if(this.value=='Имя') this.value='' ; " />
    <br /> 
     <input id="wz_12" type="text" size="10" value="Электронная почта" class="inputbox" name="email" onblur="if(this.value=='') this.value='Электронная почта';" onfocus="if(this.value=='Электронная почта') this.value='' ; " />
    <br /> 
     <input id="aca_22" type="button" value="Подписаться" class="button" name="Подписаться" onclick="return submitacajoommod1('modacajoomForm1');" />
    <br /> 
     
                        </div>
                            <input type="hidden" name="act" value="subscribe" />
                            <input type="hidden" name="redirectlink" value="http://www.site-1.ru/" />
                            <input type="hidden" name="listname" value="1" />
                        <input type="hidden" name="Itemid" value="999" /><input id="wz_2" type="hidden" value="1" name="receive_html" />
    </form><!--  End Module : Acajoom PRO 4.1.5   -->



    форму эту вывожу на сайте кодировка которого вин 1251
    данные отправляються на сайт кодировка которого ютф 8

    данные по имени не приходят... потому что разница кодировок.. вот можно бы сделать так чтобы данные отправлялись в кодировке ютв8?
     
  2. zardoz

    zardoz Постоялец

    Регистр.:
    6 май 2008
    Сообщения:
    84
    Симпатии:
    60
    Для тега form укажи атрибут accept-charset="utf8"
    Должно помочь
     
    bondaf и ufaclub нравится это.
  3. ufaclub

    ufaclub

    Регистр.:
    1 май 2007
    Сообщения:
    395
    Симпатии:
    17
    ого...спасибо тебе ... чего то не предложили на другом форуме :D вплоть до обработки текста через базу данных :eek:

    Добавлено через 35 минут

    во всех браузерах работает а ие8 64 передает все так же...как исправить?
     
  4. Mr.Emm

    Mr.Emm Постоялец

    Регистр.:
    5 май 2008
    Сообщения:
    147
    Симпатии:
    111
    http://snippets.aktagon.com/snippets/431-How-to-fix-Internet-Explorer-and-Firefox-form-encoding-issues-when-posting-data-to-a-server-having-a-different-encoding
     
    ufaclub нравится это.
  5. ufaclub

    ufaclub

    Регистр.:
    1 май 2007
    Сообщения:
    395
    Симпатии:
    17
    <form ... accept-charset="utf-8">

    The fix for Internet Explorer is to use a hack:

    1 <form ... accept-charset="utf-8">
    2 <input type="hidden" name="enc" value="™">
    3 </form>



    чет не пойму что добавлять........ type="hidden" только?
     
  6. Mr.Emm

    Mr.Emm Постоялец

    Регистр.:
    5 май 2008
    Сообщения:
    147
    Симпатии:
    111
    да что там понимать, добавь в форму скрытое поле с содержимым.. как там написано, все!
     
  7. ufaclub

    ufaclub

    Регистр.:
    1 май 2007
    Сообщения:
    395
    Симпатии:
    17
    неработает с ie8 эта фишка...
     
  8. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    наверное ie8 этот символ ™ распознаёт как html код &trade; и не думает что обязательно использовать utf-8. Как написано в документации если в форме нет utf-8 символов то accept-charset="UTF-8" не используется даже если указан.

    http://msdn.microsoft.com/en-us/library/ms533061%28VS.85%29.aspx

    Надо для ie8 передать в форме какой нибудь utf-8 двухбайтовый код, например череп ☠ (код 9760) чтоб наверняка ie8 использовал utf-8
    HTML:
    
    <input name="iehack" type="hidden" value="& #9760;" />
    
    надо убрать пробел в value после &, а то тут редактор череп вместо кода отображает.
     
Статус темы:
Закрыта.