Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: jQuery и кодировки
 
 автор: kailDeSazerland   (07.08.2008 в 18:17)   письмо автору
 
 

Помогите... При отправки данных из формы через div.load кириллица передается в UTF8 как сделать что бы в cp1251

   
 
 автор: Axxil   (07.08.2008 в 21:23)   письмо автору
 
   для: kailDeSazerland   (07.08.2008 в 18:17)
 

преобразовать на сервере с помощью iconv.

   
 
 автор: sazerland_kail   (12.08.2008 в 03:44)   письмо автору
 
   для: Axxil   (07.08.2008 в 21:23)
 

А другого выхода нет?

   
 
 автор: Axxil   (12.08.2008 в 10:46)   письмо автору
 
   для: sazerland_kail   (12.08.2008 в 03:44)
 

А чем iconv не подходит?
Можно и вручную таблицу перекодирования задать
Типа http://airbase.ru/computers/php/utf8_win/
А можно хитрыми алгоритмами
http://4gu.ru/59.html

Но смысл везде одинаковый. Составить правила преобразования символов одной кодировки в другую.

   
 
 автор: GeorgeIV   (13.08.2008 в 18:42)   письмо автору
 
   для: Axxil   (12.08.2008 в 10:46)
 

Столкнулся с подобной же проблемой - JQuery

  $("#windowContent").load(url+"/map2.php");

возвращает все в непонятной кодировке, пхп возвращает див с кнопками формой и текстом, все что в тексте и на кнопках возвращается кракозяброй. Причем, если вызвать пхп напрямую в броузере, все выводится нормально, на тестовом сервере тоже было нормально. Попробовал текст перед отдачей пропустить через iconv с utf8 на windows 1251, он вообще перестал выводиться в обоих случаях.

   
 
 автор: Николай2357   (13.08.2008 в 19:26)   письмо автору
 
   для: GeorgeIV   (13.08.2008 в 18:42)
 

А перед отдачей куда,на вывод? У меня была такая неприятность, iconv перед выводом легко решил все проблемы...

   
 
 автор: GeorgeIV   (14.08.2008 в 09:22)   письмо автору
 
   для: Николай2357   (13.08.2008 в 19:26)
 

если внимательно прочитать, я написал про iconv

   
 
 автор: Axxil   (14.08.2008 в 09:52)   письмо автору
 
   для: GeorgeIV   (14.08.2008 в 09:22)
 

а iconv вообще установлен?
И эта, на всякий случай, правильно писать utf-8

   
 
 автор: Николай2357   (14.08.2008 в 11:42)   письмо автору
 
   для: GeorgeIV   (14.08.2008 в 09:22)
 

Я внимательно читал, поэтому и написал, что iconv решает такую проблему. Если у Вас не получается, значит дело не в кодировках, а в чем-то еще.

   
 
 автор: GeorgeIV   (14.08.2008 в 14:00)   письмо автору
 
   для: Николай2357   (14.08.2008 в 11:42)
 

Зачем советовать то, что уже испробовано и не работает и об этом сказано? То что, проблема в другом, я и сам догадываюсь, весь вопрос в чем именно? Почему скрипт, вызванный напрямую отдает нормальный текст, а вызванный через JQuery выдает кракозябры.

   
 
 автор: Richard Ferlow   (14.08.2008 в 14:05)   письмо автору
 
   для: GeorgeIV   (14.08.2008 в 14:00)
 

В скрипте вызванном напрямую UTF-8 кодировка ?

   
 
 автор: GeorgeIV   (14.08.2008 в 14:05)   письмо автору
 
   для: Richard Ferlow   (14.08.2008 в 14:05)
 

windows-1251

   
 
 автор: Николай2357   (14.08.2008 в 20:19)   письмо автору
 
   для: GeorgeIV   (14.08.2008 в 14:05)
 

Вот, нашел свои записи, как я с этим мучался, может быть поможет:
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
function Pusk(){
var text1 = document.getElementById('text').value;     
var text2 = 'Кракозябры'; 
 $.get("test1.php", { jq1:text1, jq2:text2 },  
          function(data){  
            $('#div').html(data);          
         }  
    )  
    return false;   
}

</script>

</head>
<body>
<div id='div'></div>
<input  id=text type=text /> 
<input type=button onclick='Pusk()' value=Пуск />


На локалке:
<?
$text1
=$_GET['jq1'];
$text2=$_GET['jq2'];
$text3="Кракозябры";
$text3=iconv('windows-1251','utf-8' ,$text3);
echo 
$text1."<br>".$text2."<br>".$text3;


На хостинге русский Апач, все наоборот:
<?
$text1
=$_GET['jq1'];
$text2=$_GET['jq2'];
$text3="Кракозябры";
$text1iconv('utf-8','windows-1251' ,$text1); 
$text2iconv('utf-8','windows-1251' ,$text2);
echo 
$text1."<br>".$text2."<br>".$text3;

Не знаю, может у Вас вообще юникод какой нибудь, но это точно работает.

   
 
 автор: GeorgeIV   (15.08.2008 в 12:15)   письмо автору
 
   для: Николай2357   (14.08.2008 в 20:19)
 

Вопрос снят. Сам всегда в примерах показывал, что аяксовыый ответ должен обязательно иметь правильный хидер, и сам же наступил на эти грабли.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования