PHP print() Арабская строка
Вопрос
Когда я пытаюсь выполнить этот код, чтобы распечатать арабскую строку: 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_декод][1]
попытается декодировать вашу строку из UTF-8 в latin1, которая не подходит для арабских символов - следовательно, '?'
Персонажи.
Возможно, вы захотите установить
default_charset = "utf-8"
в вашем php.ini
. Кодировка по умолчанию директива предписывает серверу создать правильный заголовок типа контента.
Вы также можете сделать это во время выполнения:
ini_set('default_charset', 'utf-8');
Вы также можете захотеть проверить шрифт вашего браузера, поддерживает ли он арабский язык.Придерживайтесь распространенных шрифтов, таких как Arial Unicode и Times New Roman.
Что ж,
Первый:Добавить в начало HTML-страницы
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
второй:если вы используете AJAX, кодируйте данные с помощью Кодирующий компонент
Третий:Первая строка вашей PHP-страницы должна быть
header('Content-Type: text/html; charset=utf-8');
и декодируйте данные, отправленные на PHP, используя urlдекодирование
С уважением,