Cherka Trova
Первый раз с этим сталкиваюсь, поэтому как-то даже не знаю, как подобраться.. есть страница с формой в кодировке utf-8, с нее данные уходят аяксом на обработчик, который тупо пересылает эти данные на заранее известный адрес.
но проблема в том, что данные из формы приходят в кодировке utf-8, а php ее обрабатывает в windows-1251. в результате кириллица обрабатывается известным образом, что приводит к появлению нелицеприятных и нечитабельных символов.

Испробованные способы решения проблемы (результата не дали):
1. прописывание utf-8 в заголовках отправляемого письма
2. перекодировние convert_cyr_string, но там нет параметра для utf-8.

Есть у кого еще какие варианты?

И второе. с этой формой нужно в проекте отправлять прикрепленный файл. Как в скрипте обратиться к этому файлу для перекодирования base_64? $_Files["tmp_name"] сам по себе особенно не помощник, я так понимаю, надо искать путь от корня домена. Но где бы его можо было посмотреть?


Комментарии
05.03.2010 в 12:17

 
Есть у кого еще какие варианты?
mb_convert_encoding() / iconv(), в зависимости от того, что есть на сервере (есть другие варианты, но один из этих обычно доступен).
однако, я бы попилил utf-8 в письме.

$_Files["tmp_name"] - это путь к загруженному файлу. Если нужно прочитать сам файл, то это именно то, что нужно.
05.03.2010 в 12:17

Всё будет Кока-Кола.
Как вы интересно пересылаете файл через аякс, я так вроде знаю только один рабочий метод через ифреймы, но он не может создать глюков с кодировками.

А просто сохранить скрипт в utf-8 не пробовали?
05.03.2010 в 12:26

Торговец знаниями
iconv частенько бывает установлен и он решает все вопросы с перекодировкой. tmp_name содержит полный путь до файла. Скрестить два вызова функций (или три-четыре, по желанию) и тем самым достигнете желаемого.
05.03.2010 в 13:06

Cherka Trova
Джей Ди форма отсылается через jquery обработчику и див с формой просто скрывается. для отладки я просто временно убрал подключение плагина чтобы видеть что творит пхп.

La personne mystique, tven, спасибо за подсказку на счет файла. Видимо, я неправильно понял мануал.
05.03.2010 в 13:40

<?php
foreach($_POST as $val) {
   
iconv('utf-8''cp-1251'$val);
}
?>

Расширенная форма

Редактировать

Подписаться на новые комментарии
Получать уведомления о новых комментариях на E-mail