Конвертировать UTF-8 to Latin-1?

PHP скрипт принимает от клиента некий текст в кодировке utf8. Кодировку ставит Jquery. На стороне сервера нужно конвертировать в текст с кодировкой Latin-1 (используется в базе, сменить нет возможности).


Использовал функцию iconv:

iconv('UTF-8', 'LATIN-1', $text);


Вместо Latin-1 пробовал и LATIN1, ISO-8859-1, но всё равно на выходе пустая строчка. Предполагаемые пути решения:

— Как-то заставить JQuery отсылать текст в нужной кодировке (на клиентской страничке кодировка ISO-8859-1). Но вообще строчка как-то кодируется для совместимости (напоминает русские буквы в URL), так что такой путь чреват проблемами (или нет?).

— Решить проблему отсутствия кодировки / невозможности конвертировать в нее из utf8.

— Подобрать подобную кодировку (на крайний случай).


Может, кто-то решал подобную задачу. Буду очень признателен, так как интернет весьма скуп на подсказки :).


UPD:

Интересно, но у меня не работает:
stackoverflow.com/questions/374425/convert-utf8-ch...
  • Вопрос задан
  • 6029 просмотров
Решения вопроса 1
hayk
@hayk
Поробуйте так:
mb_convert_encoding($text, 'HTML-ENTITIES', 'UTF-8');
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
zizop
@zizop
У меня обычно работает такой вариант:
$converted = mb_convert_encoding($src_string, 'UTF-8', mb_detect_encoding($src_string));
Ответ написан
Rinoa
@Rinoa
Может быть стоит попробовать задать кодировку при соединении?
set names latin1
Ответ написан
@Nc_Soft
1. попробуйте в iconv LATIN1
2. попробуйте конвертировать на уровне бд insert into tbl sel pole=CONVERT(_latin1'Müller' USING utf8)
Ответ написан
Комментировать
Насколько понимаю, Вы работаете с AJAX, и подозреваю, что пересылаете достаточно сложные структуры данных. Если это так, то Вы не сможете найти корректного варианта — его нет. Некоторые браузеры неприемлимо ведут себя несмотря на все ухищрения.

Хотя можете попробовать. Для адекватной работы:
— настраиваем php на работу в кодировке latin (или что вам нужно),
— все поступающие данные обрабатываем iconv
— на всякий случай устанавливаем кодировку взаимодействия с БД
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы