Cherka Trova
Первый раз с этим сталкиваюсь, поэтому как-то даже не знаю, как подобраться.. есть страница с формой в кодировке utf-8, с нее данные уходят аяксом на обработчик, который тупо пересылает эти данные на заранее известный адрес.
но проблема в том, что данные из формы приходят в кодировке utf-8, а php ее обрабатывает в windows-1251. в результате кириллица обрабатывается известным образом, что приводит к появлению нелицеприятных и нечитабельных символов.
Испробованные способы решения проблемы (результата не дали):
1. прописывание utf-8 в заголовках отправляемого письма
2. перекодировние convert_cyr_string, но там нет параметра для utf-8.
Есть у кого еще какие варианты?
И второе. с этой формой нужно в проекте отправлять прикрепленный файл. Как в скрипте обратиться к этому файлу для перекодирования base_64? $_Files["tmp_name"] сам по себе особенно не помощник, я так понимаю, надо искать путь от корня домена. Но где бы его можо было посмотреть?
mb_convert_encoding() / iconv(), в зависимости от того, что есть на сервере (есть другие варианты, но один из этих обычно доступен).
однако, я бы попилил utf-8 в письме.
$_Files["tmp_name"] - это путь к загруженному файлу. Если нужно прочитать сам файл, то это именно то, что нужно.
А просто сохранить скрипт в utf-8 не пробовали?
La personne mystique, tven, спасибо за подсказку на счет файла. Видимо, я неправильно понял мануал.
foreach($_POST as $val) {
iconv('utf-8', 'cp-1251', $val);
}
?>