#html #mysql #кодировка
Здравствуйте. Начал переводить сайт на русский, но возникла проблема - вопросы вместо русских букв стало показывать. Проблема связана, думаю, с mysql, так как внутри сайта вопросы появляются вместо букв, только когда с базы данные. В базе поставил utf-8_bin, тоже не помогло. В чем может быть проблема?
Ответы
Ответ 1
1) для Apache в .htaccess: AddDefaultCharset utf-8 2) для nginx в конфиге: charset utf8; 3) в html-документе:html 5 версия: 4) необходимо все сущности (таблицы) установить в кодировку utf8_general_ci 5) если используете PDO: new \PDO( 'mysql: host=localhost; dbname=db; charset=utf8;', 'user', 'pass' ) 6) если всё ещё пользуетесь процедурным доступом к БД, то: mysql_query('SET NAMES "utf8"'); 7) в Вашем редакторе/IDE сохраняйте файл в кодировке utf8 Ответ 2
Если не разберетесь с кодировкой из базы, то можете на невысоконагруженном проекте, например, конвертировать iconv налету все переменные. Обновление $out=iconv( mb_detect_encoding($in), 'UTF-8', $in) где-то как-то так: $in - строка в любой кодировке $out - строка в utf-8Ответ 3
У меня скрипты и html странички к ним крутились на виндовс серваке, а потом все на линукс перенесли и там вместо русского были ромбики с вопросами. Нашел сначала в нете вариант через notepad++ сам html фалик сохранять в спец кодировке. Но это не дело так с каждым делать. Решение такое, заходите в httpd.conf файл апача. (у меня по умолчанию /etc/httpd/conf/httpd.conf) И там в начале есть параметр AddDefaultCharset UTF-8 Я заменил UTF-8 на windows-1251 и далее рестартанул сервак systemctl restart httpd и русский заработал на страничках в браузере.Ответ 4
Проблема, скорее всего, в кодировке HTML редактора, которым вы пользуетесь. Редактор может выставлять кодировку записанного файла в соответствии с языковой версией Windows. Например, на английской версии редактор может записывать в ANSI, чего не понимается браузерами. Решение: Кодировка HTML страницы должна совпадать с кодировкой указанной в HTML тэгом. Для универсальной UTF-8 которая сегодня используется по умолчанию в большинстве блогах и т.п. HTML страница начинается с тэгов типа Тогда текстовый редактор должен записывывать в UTF8: В HTML редакторе настройка может быть во время Save а может где-то в Settings а может вообще не быть.
Комментариев нет:
Отправить комментарий