Мне нужно преобразовать юникод в символ в PHP. Я использую базу данных MySQL для хранения текста Текст в формате Unicode с сопоставлением utf8-general-ci. Когда я извлекаю эти данные и отображаю, отображаются некоторые специальные символы: например, "मिनिसà¥à¤•à¤°à¥à¤Ÿà¤®à¤¾ करà¥à¤•à¥‡ नजर" для текста "मिनिस्कर्टमा कर्के नजर". Это непальский шрифт в формате юникода. Мне нужно это в символьном или ascii формате в PHP. Я пробовал кодировать и декодировать utf8, но ни один из них не работал (отображает знаки вопроса???? Â¥Âà ¤•à ¤°à ¥Âà ¤Ÿà ¤®à ¤¾ à ¤•à ¤°à ¥Âà ¤•à ¥‡ à ¤¨à ¤œà ¤°" при кодировании). Итак, как я могу получить значение ascii или символ или значение unicode для каждого символа unicode из базы данных mysql в PHP???
Конвертер Unicode в символы в PHP
Ответы (4)
Измените сопоставление на utf_bin
и в заголовке ваших страниц <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
. Надеюсь, что это работает.
a
, отображается на семантически не связанный глиф), вам понадобятся не только таблицы сопоставления символов между реальным кодом символа и глифами шрифта, но и сложная обработка макета текста для выяснить, какой глиф соответствует какой последовательности символов: например, मि
— это один составной глиф, но два символа, ma+i. Гораздо лучше для здравомыслия и семантики использовать стандартные шрифты Unicode везде, где это возможно.
- person bobince; 06.09.2013
Ладно, я понял. Я использовал эту php-библиотеку и использовал функцию utf8_chr_to_unicode_style для преобразования каждого символа Юникода в код. Я преобразовал все коды в требуемый код шрифта (код шрифта preeti nepali). Это все :).
utf8_chr_to_hex
из той же библиотеки. Это лучшая и улучшенная функция в переносимом utf8 1.3, и если вы хотите преобразовать в целое число, вы должны использовать utf8_ord()
.
- person Hamid Sarfraz; 24.09.2013
Попробуйте функцию icon.
Это функция для преобразования из разных кодировок. Пожалуйста, попробуйте некоторые по ссылке, указанной выше. Если вам не удастся понять это, прокомментируйте, и я постараюсь больше изучить эту тему.
У меня проблема с кодировкой utf-8. Я был во всем Интернете (ну, не полностью), но уже довольно давно, и лучшим советом было и остается установить кодировку заголовка на «UTF-8».
Тем не менее, я разрабатывал свое веб-приложение локально на своем компьютере, используя xampp (а иногда и wamp, чтобы получить различие между ними, когда дело дошло до отладки моего кода). Все работало отлично =). Но как только я загрузил его в сеть, результат был не таким уж крутым (ошибки, которые вы получили бы, если бы установили для заголовков другую кодировку, например «iso-8859-1»). Каждый заголовок в моем коде имеет UTF-8 в качестве кодировки по умолчанию, но у меня все еще есть те же «иероглифические штучки». Затем вы, ребята, дали мне понять, что проблема не в моем коде, а в php.ini, на котором он работал. Оказывается, на моей локальной машине работал php 5.5, а cpanel, куда я загрузил свое веб-приложение, работал на родном php 5.3 . Что ж, когда я изменил версию php, которую моя cpanel установила по умолчанию, с Native PHP 5.3 на PHP 5.5, поверьте мне, ребята =) это сработало как шарм, как если бы я был прямо там, на локальном хосте машины.
ПРИМЕЧАНИЕ. Пожалуйста, если у вас возникла та же проблема, что и у меня, просто убедитесь, что у вас версия PHP 5.5. Я публикую это, потому что чувствую вас, ребята. Ваше здоровье!