![]() |
|
||||||||||
|
|||||
|
Регистрация: Nov 2006
Сообщений: 155
|
Есть строковая переменная в пхп. Ее кодировка может быть какая угодно. Как мне определить, в какой кодировке записан текст?
Мне это необходимо, чтобы передать параметр в функцию iconv() iconv(???, "UTF-8", $someVar); |
|
|||||
|
В такой постановке вопроса - никак.
А можно узнать, что привело к такому вот положению вещей ?
__________________
Тут вы найдете ответы на почти все вопросы: А можно ли сделать так ? - Можно. Почему не работает ? - Неправильно сделано. Где ошибка ? - В ДНК. |
|
|||||
|
Регистрация: Nov 2006
Сообщений: 155
|
Цитата:
![]() У меня есть флеш, который принимает - посылает месаги в аську. Разные клиенты присылают сообщения в разных кодировках, зависит от страны и локальных настроек. Вот я и хотел все месаги конвертить в УТФ-8, чтобы красиво было. P.S. вот эта функция может определить mb_detect_encoding, но она в большинстве случаев отключена |
|
|||||
|
mb_* функции сейчас мало где работают вообще из-за "секурити праблемс".
А по версии-типу клиента не получится поймать, что он там написал ?
__________________
Тут вы найдете ответы на почти все вопросы: А можно ли сделать так ? - Можно. Почему не работает ? - Неправильно сделано. Где ошибка ? - В ДНК. |
|
|||||
|
Регистрация: Nov 2006
Сообщений: 155
|
Так я никак не могу узнать эту информацию
Я могу узнать только кодировку, в которой сервер шлет сообщения.Вообще мне приходят на русском крякозябры, и при проверке функцией mb_detect_encoding, выдает, что у строки кодировка UTF-8. То есть задача усложняется |
|
|||||
|
Как это - никак не могу ? А что клиент посылает на сервер и кто, собственно, сервером работает ?
__________________
Тут вы найдете ответы на почти все вопросы: А можно ли сделать так ? - Можно. Почему не работает ? - Неправильно сделано. Где ошибка ? - В ДНК. |
|
|||||
|
Регистрация: Nov 2006
Сообщений: 155
|
Вот путь сообщения, от того как пользователь отослал в аське, до того, как другой пользователь получил во флеше
user -> ICQ server -> Openfire server -> php demon -> flash client Так вот пользователь присылает данные о себе ICQ серверу, а не мне (php demon), поэтому я не могу и вытащить кодировку |
|
|||||
|
Регистрация: May 2007
Сообщений: 14
|
Вот что выдаёт google относительно твоего запроса: здесь и здесь.
Совет 254. Как автоматически определить кодовую таблицу для русских текстов: http://www.microsoft.com/Rus/Msdn/Ac...coder/254.mspx Совет 255. Как определить кодировку текста: еще один вариант: http://www.microsoft.com/Rus/Msdn/Ac...coder/255.mspx Перекодировка и обработка строк: http://www.microsoft.com/Rus/Msdn/Ac...r/Default.mspx То, как это реализовано в Mozilla-браузере: http://www.mozilla.org/projects/intl...Detection.html Вот здесь Mozilla хранит свои OpenSource-Коды: http://lxr.mozilla.org/seamonkey/sou...rdet/src/base/ Вот этот детектор написан на основе Mozilla: http://chardet.feedparser.org/docs/ Ну и последнее... статья от Ивана Рощина здесь: http://ivr.webzone.ru/articles/defcod_2/index.htm написан очень изощрённый вариант определения кодировки(не советую). NewFolder, думаю, что лучший пример определения в совете 254 от Microsoft Когда всё сделаешь то напиши своё решение здесь, сообщи мне об этом в личку или напиши решение мне в личку. Обращение ко всем: Если брать в больших размерах, то сообщения в кодировке UTF-8 непроблематичны, но они увеличивают нагрузку на сервер, как при пересылке так и при хранении(из-за веса). Большинство сайтов с таким контентом предпочитают UTF-8. Кто как думает, как сделать так, чтобы не использовав UTF-8, добиться безпроблемной работы с сообщениями на разных кодировках, включая не только русские? Пожалуйста пишите только свои решения или ссылки на решения, а не просто отклики. Если нечего сказать конкретно - флуд здесь не нужен. |
|
|||||
|
Регистрация: Nov 2006
Сообщений: 155
|
Спасибо, покопаюсь
|
|
|||||
|
Регистрация: May 2007
Сообщений: 22
|
Цитата:
У меня работало.. Ссылка откуда взято: http://ru2.php.net/manual/ru/function.iconv.php#59030 оригинальныый текст: Цитата:
Последний раз редактировалось FFFantik; 09.06.2007 в 18:22. |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:44. |
|
|
« Предыдущая тема | Следующая тема » |
|
|