Digital Artcore
Поиск по сайту
сейчас слушаю
Aces High (2015 Remaster)
Iron Maiden
Powerslave (2015 Remaster)
2 days ago
Main title (from Great Escape)
Elmer Bernstein / Hollywood Movie Works
Hollywood Movie Works - Best Soundtrack 2
4 days ago
My Funny Valentine
Paul Desmond Alto Saxophonist with Strings
Desmond Blue
4 days ago
Sea Breezes
Roxy Music
Roxy Music
4 days ago
We Will Rock You
Queen
Greatest Hits
4 days ago

Знаки вопроса вместо русских букв после перехода на MySQL 4.1

Когда я переводил свой сайт с одного сервера на другой, решил проверить его на совместимость. В результате сменилось абсолютно все — начиная с самой машины, где хостились мои страницы, заканчивая версией MySQL (про смену операционки и версии PHP вообще молчу). Вобщем поменялось все. И вот какая бяка случилась — работало все прекрасно, за исключением отображения содержимого записей базы данных, содержащих кириллицу. Проще говоря, все что было в базе MySQL на русском выводилось знаками вопроса.

Казалось бы — в чем деле вопрос? Раньше у меня была версия MySQL 4.0, теперь 4.1. Сел, поискал на яндексе и обнаружил что не я один такой несчастный. В версии 4.1 разработчики добавили поддержку юникода и для правильной работы надо было конвертировать базу. У меня времени на это не было, да и неохота было, если честно. Покопавшись еще нашел быстрое решение — работает хорошо, а если используется движок с унифицированным интерфейсом запросов, то и вовсе проблема решается за несколько секунд.

Короче говоря, если явно указать кодировку запроса, то вместо вопросительных знаков появляются русские буквы. У меня это выглядит вот так:

mysql_query («set character_set_client=’cp1251′», $link);
mysql_query («set character_set_results=’cp1251′», $link);
mysql_query («set collation_connection=’cp1251_general_ci'», $link);

Маленькое дополнение: оказывается все три вышеприведенные команды можно заменить одной:

mysql_query(«SET NAMES ‘cp1251′», $link);

Top! © Digital Artcore. All rights reserved.
Social Links:
FACEBOOK
TWITTER
[extraWatchAgent]