Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: Общие вопросы > Ajax и windows-1251 |
Автор: Alex_B 10.7.2007, 11:16 |
Использую вот такую библиотеку: http://www.dynamicdrive.com/dynamicindex17/ajaxcontent.htm для загрузки контента в стиле Ajax. Но уменя подгружаемое содержимое в кодировке windows-1251 и в замен символов я получаю одни вопросы ?????, я знаю что текст должен быть в UTF-8, но я не могу изменить кодировку на стороне сервера. Есть какая-нибудь возможность решить эту проблему? |
Автор: dstorm81 10.7.2007, 16:32 |
проблем с кодировкой не длжно быть если сам файл [index.php] сохранен в кодировке utf-8 заголовок документа und header utf-8 все скрипты приаттаченные сохранены в utf-8 источник выдаёт инфу в utf-8 вобщем возможность, отказаться от 1251 кодировки |
Автор: Kolyaj 11.7.2007, 14:25 |
Настройте сервер или скрипты так, чтобы явно выдавался заголовок "Content-type: text/html; charset=windows-1251". |
Автор: Alex_B 12.7.2007, 16:49 |
dstorm81, Kolyaj, спасибо. Т.е. без каких-либо изменений на сервере решить проблемы с кодировкой невозможно? |
Автор: Alex_B 13.7.2007, 12:42 |
Kolyaj, спасибо. |
Автор: szz 20.7.2007, 07:33 |
Итак ))) Какой язык у тебя на сервере? Я просто сам недавно сталкивался с этим, и написал свою мальенькую библиотечку на РНР, с помощью которой я на клиенте ставлю UTF-8, а на серваке перевожу его в win-1251, и обратно, с сервера перевожу win в utf. Библиотечка расширяема, можно кроме русского win-1251 добавлять любые другие кодировки русского и других языков, например я пробовал визуальную и логическую иврита - работает. Дать? |
Автор: dsCode 9.9.2007, 17:34 |
JavaScript при AJAX'e работает в UTF-8 (по-любому). Но вовсе не обязательно писать сами файлы в UFT-8. А как быть, если надо данные в базу положить, которая в 1251? Если Вы используете PHP, то Вам пожет функция iconv("UFT-8", "cp1251", $data) |
Автор: bronenos 10.9.2007, 19:10 |
или mb_convert_encoding, но в ней параметры надо задать обратным порядком |
Автор: szz 11.9.2007, 03:36 |
dsCode, иконв не везде есть, впрочем, на юниксах всегда, а вот на винде нет. А моя самописная библиотека будет работать везде, правда, по скорости она с иконв не сравнится конечно. bronenos, мб еще хуже чем иконв использовать, потому что он not enabled by default. но так или иначе, строку, которую нам присылает JS надо еще подготовить, ведь она не реальная UTF-8, а url-закодированная, с процентиками перед каждой буквой. Мало того, ведь буквы премиум таблицы не кодируются, так что надо аккуратно перевести эту строку в utf8 и urlencode, rawurlencode тут не помогут. |
Автор: bronenos 11.9.2007, 09:39 | ||
|
Автор: dsCode 11.9.2007, 10:56 |
szz, да, согласен насчет iconv, хотя, сейчас, по-моему, везде он есть уже. P.S.: было бы интересно посмотреть на Вашу библиотеку. Я просто в свое время поленился писать =) К тому же потом нашелся icov =). |