Арабский язык отображается в виде гибериша и вопросительных знаков

Я создал сайт php, который просто загружал бы текст из базы данных mysql, когда я открывал его в браузере, арабский текст отображался на тарабарском языке, но затем, когда я изменял кодировку моего браузера на UTF-8, он отображался правильно, как можно Я устанавливаю кодировку UTF-8, чтобы пользователям не пришлось ее менять?

Часть меню веб-сайта, которая также загружает пункты меню из одной и той же базы данных (разные таблицы, они имеют одинаковую коалицию "utf8_unicode_ci"), но все они отображаются в виде вопросительных знаков. Как я могу это исправить?

Вы можете проверить веб-сайт на test.bdsfilmfest.com

Заранее спасибо:)

3 ответа

Решение

Ваш веб-сервер, вероятно, отправляет iso-8859-1 заголовок типа содержимого по умолчанию.

Либо измените поведение веб-сервера - это должно быть возможно сделать

 AddDefaultCharset utf-8

в .htaccess файл в корневом каталоге вашего веб-сайта.

или переопределить заголовок изнутри PHP в каждом отдельном файле:

header("Content-Type: text/html; charset=utf-8");

Раскомментируйте это:

<!--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />!-->

Самый простой способ - установить где-нибудь default_charset (возможно, в apache vhost conf, в файле php.ini или.htaccess), чтобы вам не приходилось повторять отправку правильных заголовков для каждого скрипта.

Другие вопросы по тегам