Как правильно согласовать кодировки (скрипт + бд в utf-8)

AG
На сайте с 24.04.2007
Offline
115
1034

Приключилась тут у меня проблемка.

Есть исходники файлов, сохраненные в UTF-8. В каждом прописано <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />.

Есть БД с кодировкой utf8_general_ci.

Но при выводе из БД, на странице одни вопросы вместо букв. При записи в БД - &#208;&#732;&#208;&#178;&#208;°&#208;&#189;.

Что-то не так, но что?

Где еще сменить кодировку или что-то прописать, чтобы привести к единообразию все данные? Если кто знает, буду благодарен за помощь.

Куплю ссылки - промышленность, производство. Пишите в ЛС.
[umka]
На сайте с 25.05.2008
Offline
456
#1

utf8_general_ci — это не кодировка. Это сопоставление.

Кодировку выдачи можно задавать таким запросом (после коннекта к базе):

SET CHARACTER SET UTF8

При этом, нужно чтобы в настройках виртуального хоста была указана соответствующая кодировка:

CharsetDefault utf-8

CharsetSourceEnc utf-8

Лог в помощь!
AboutSEO
На сайте с 18.01.2007
Offline
154
#2

частые проблемы:

1. с базой работаеш от юзера рут.(при работе из под рута игнорятся все установки и нужно в скрипте соединения к базе прописывать принудительно кодировку соединения.)

2. у хостера в апачах стоит дефолтная отличная от ютф-8 кодировка - прописать в хтацес нужную

3. в базе лежит не та кодировка - перезалить базу в правильной кодировке.

когда открывается страница с кракозяблами, посмотри в браузере в какой кодировке отдался документ.

N
На сайте с 06.05.2007
Offline
419
#3
AboutSEO:
1. с базой работаеш от юзера рут.(при работе из под рута игнорятся все установки и нужно в скрипте соединения к базе прописывать принудительно кодировку соединения.)

не все, а только init_connect. пользуются им сейчас только совсем ленивые и он скрывает в себе потенциальные проблемы.

Кнопка вызова админа ()
AG
На сайте с 24.04.2007
Offline
115
#4
'[umka:
;6623215']При этом, нужно чтобы в настройках виртуального хоста была указана соответствующая кодировка:
CharsetDefault utf-8
CharsetSourceEnc utf-8

На эту штуку выдал мне 500 ошибку.

Я заменил на AddDefaultCharset UTF-8.

Но в итоге работает. Спасибо.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий