Когда я пытаюсь выполнить этот код для печати арабской строки: print("إضافة");
Я получаю этот вывод: إضاÙØ©
. Если я utf8_decode (), то я получу ?????
, У меня есть «AddLanguage ar» в моей конфигурации apache, но это не помогает. Как распечатать эту арабскую строку?
Также укажите язык страницы utf8, например:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
а затем посмотреть, если это сработает. Если это все еще не работает, перейдите и проверьте это, это полное решение для арабского языка с использованием PHP:
http://www.ar-php.org/en_index_php_arabic.html
Вы можете также проверить это:
Возможно, необходимо указать браузеру, который использует кодировку, – я предполагаю, что это UTF-8.
Чтобы добиться этого, вы можете попробовать поставить эту часть кода в начале вашего скрипта, прежде чем будет создан какой-либо вывод:
header('Content-type: text/html; charset=UTF-8');
[
utf8_decode ][1]
попытается декодировать вашу строку из UTF-8 на latin1, что не подходит для арабских символов – следовательно, это '?'
персонажи.
Вы можете установить
default_charset = "utf-8"
в вашем php.ini
. Директива charset по умолчанию указывает серверу на создание правильного заголовка типа контента.
Вы также можете сделать это во время выполнения:
ini_set('default_charset', 'utf-8');
Вы также можете проверить свой шрифт браузера, если он поддерживает арабский язык. Придерживайтесь обычных шрифтов, таких как Arial Unicode и Times New Roman.
Что ж,
Сначала: добавьте к началу страницы HTML
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
второй: если вы используете данные кодирования AJAX, используя encodeURIComponent
В-третьих: первая строка вашей страницы PHP должна быть
header('Content-Type: text/html; charset=utf-8');
и декодировать данные, отправленные на PHP, используя urldecode
С Уважением,