Искать  
 
   
 
Грабли с кодировкой
Отправлено: 21 Май 2010 09:51 A.M.   [ Игнорировать ]
Member
Avatar
RankRankRank
Всего сообщений:  325
Зарегистрирован  2008-06-16

Как такое вышло - не знаю, впервые...

В общем, систему ставил в UTF-8: добавил инфу в htaccess и db.mysql.php. Информация в MySQL отображается по-русски, нормально.

Но! Страницу сообщений для пользователя (с кодировкой utf-8) выводит в браузер в 1251!!!! т.е. кракозябрами. Если ручками в браузере переключаешь на utf-8 - отображается нормально. В чём грабли?

http://askent.webula.ru
test
testovi

 Подпись 

Всё что делается - не всё нами принимается...

Профиль
 
 
Отправлено: 21 Май 2010 01:54 P.M.   [ Игнорировать ]   [ # 1 ]
Member
Avatar
RankRankRank
Всего сообщений:  325
Зарегистрирован  2008-06-16

Новая инсталяция 1.6.9 - тоже самое

 Подпись 

Всё что делается - не всё нами принимается...

Профиль
 
 
Отправлено: 21 Май 2010 08:19 P.M.   [ Игнорировать ]   [ # 2 ]
Sr. Member
RankRankRankRank
Всего сообщений:  987
Зарегистрирован  2008-09-27

В header пропиши это:
<meta http-equiv=“Content-Type” content=“text/html; charset=utf-8” />

Профиль
 
 
Отправлено: 22 Май 2010 02:11 P.M.   [ Игнорировать ]   [ # 3 ]
Member
Avatar
RankRankRank
Всего сообщений:  325
Зарегистрирован  2008-06-16
Максим - 21 Май 2010 08:19 P.M.

В header пропиши это:
<meta http-equiv=“Content-Type” content=“text/html; charset=utf-8” />

Это прописано. Страница отображается в кодировке utf-8, но при загрузке страницы браузер почему-то выбирает кодировку 1251. Вот я о чём толкую...

 Подпись 

Всё что делается - не всё нами принимается...

Профиль
 
 
Отправлено: 22 Май 2010 09:59 P.M.   [ Игнорировать ]   [ # 4 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  644
Зарегистрирован  2009-04-11

файл system/db/db.mysql.php
метод db_connect()
ниже строки

$this->server_info = @mysql_get_server_info(); 

допишите

mysql_query("SET NAMES 'utf8'"); 
 Подпись 

Няшка, программист, фотограф, подкастер, блоггер и CEO студии FDCore Studio

Профиль
 
 
Отправлено: 24 Май 2010 09:45 A.M.   [ Игнорировать ]   [ # 5 ]
Member
Avatar
RankRankRank
Всего сообщений:  325
Зарегистрирован  2008-06-16

Неа, не помогает... да, и как бы это ещё раз объяснить: сама информация - в utf-8 и в базе и на сайте. Просто почему-то только страницы системной информации (об ошибке и т.д.) в самом начале выдаются принудительно браузеру в 1251, а если посмотреть код исходника страницы - там utf8! И если эту же страницу перезагрузить, то отобразится корректно. Может это сервер начал так работать?

 Подпись 

Всё что делается - не всё нами принимается...

Профиль
 
 
Отправлено: 24 Май 2010 09:59 A.M.   [ Игнорировать ]   [ # 6 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  644
Зарегистрирован  2009-04-11

в .htaccess

AddDefaultCharset utf-8

http://htaccess.net.ru/doc/AddType-charset/CharsetDefault.php

 Подпись 

Няшка, программист, фотограф, подкастер, блоггер и CEO студии FDCore Studio

Профиль
 
 
Отправлено: 24 Май 2010 10:20 A.M.   [ Игнорировать ]   [ # 7 ]
Member
Avatar
RankRankRank
Всего сообщений:  325
Зарегистрирован  2008-06-16
NetSoul - 24 Май 2010 09:59 A.M.

в .htaccess

AddDefaultCharset utf-8

http://htaccess.net.ru/doc/AddType-charset/CharsetDefault.php

И это тоже есть:

AddDefaultCharset utf-8

<Files ru>
SetHandler application/x-httpd-php
</Files>

DirectoryIndex ru index.php index.shtml index.html index.htm

ErrorDocument 404 http
://webula.ru/ru/404/ 

Думаю провести тесты с другой версией движка и ещё на другом хостинге.

 Подпись 

Всё что делается - не всё нами принимается...

Профиль
 
 
Отправлено: 24 Май 2010 02:55 P.M.   [ Игнорировать ]   [ # 8 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  891
Зарегистрирован  2008-01-07

посмотри что там в Admin > Специальные шаблоны > Шаблон сообщений пользователю пропиши туда утф

Профиль
 
 
Отправлено: 24 Май 2010 03:23 P.M.   [ Игнорировать ]   [ # 9 ]
Member
Avatar
RankRankRank
Всего сообщений:  325
Зарегистрирован  2008-06-16
budulay - 24 Май 2010 02:55 P.M.

посмотри что там в Admin > Специальные шаблоны > Шаблон сообщений пользователю пропиши туда утф

Это уже пробовал... там сейчас стоит:

<meta http-equiv='content-type' content='text/html; charset={charset}' /> 

и даже если это меняешь на utf-8, чтобы было прописано - фик...

Страница изначально в utf-8 создаётся.

Да, предварительные тесты показали, что если я всё тоже самое делаю на другом хостинге - всё ок! Описание установки взято здесь.

Народ, всё что здесь уже предлагали - я всё делал и не один раз на одном и том же сервере. Просто в один прекрасный момент - начались грабли. Поэтому-то я хотел узнать в чём может быть засада... Мне вообще кажется, что здесь нудно обращаться к хостеру и спрашивать, что за грабли начались, только вот как это спросить правильно?

 Подпись 

Всё что делается - не всё нами принимается...

Профиль
 
 
Отправлено: 03 Июнь 2010 01:44 P.M.   [ Игнорировать ]   [ # 10 ]
Member
Avatar
RankRankRank
Всего сообщений:  325
Зарегистрирован  2008-06-16

В общем, после продолжительных попыток и тестов, так ничего и не вышло! Что-то провайдер поменял в настройках у себя и теперь вместо атрибутов 644 для файла по умолчанию ставить 600. Я так думаю, что это вопрос в настройках Апача. А для новых папок ставит 700, а не 755!

Да, был план поменять на новой инсталяции изначально на правильные атрибуты - не помогло. В общем, новые проекты на этом хостинге я уже не делаю.

 Подпись 

Всё что делается - не всё нами принимается...

Профиль