Не правильно отображаются символы юникода (русские) которые хранятся в БД (mysql)

cajoy

Guest
Не правильно отображаются символы юникода (русские) которые хранятся в БД (mysql)

Вообщем есть такая странная проблема, не знаю что это такое.

Храню русский текст в БД в юникоде, все нормально хранится, phpadmin показывает все символы нормально, и "ф" отображается нормально..

Как только отображаю данные с БД на своем сайте (юникод кодировка идет в хедере и в хтмл), то симовл "ф" не корректно отображается :(

пример на http://allkiev.com.ua/links/?from=225 возле сылки "ExtraDJ forum"

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

Т.е. есть подохрение что как то неправильно берется юникод с базы...

кто то может подсказать? Заранее спасибо.
 

Profic

just Profic (PHP5 BetaTeam)
Для начала это не unicode, а utf-8, представление unicode-а.
Далее вот это читалось?
 

cajoy

Guest
Читал, спасибо, но у меня на сервере стоит MySQL 4.0.24

Что мне тогда делать? надо как то решать проблему... :(
 

Profic

just Profic (PHP5 BetaTeam)
Дать им атрибут binary и не использовать toupper() и tolower()?
 

cajoy

Guest
пардон, за глупый вопрос, где ставить этот binary?

toupper,lower не использую...

Заранее спасибо.
 

Profic

just Profic (PHP5 BetaTeam)
где ставить этот binary?
В alter table.
toupper,lower не использую...
В общем я имел ввиду не производить вообще никаких действий над данными методами, которые не знают, что данные в UTF-8.
Например, буква "ф" в UTF8 имеет вид "С„", однако если посмотреть туда, то получаем "с„", что не является валидным UTF8. Сама же база призводить такие операции не может, потому остается только пользовательский код.
 
Сверху