Digital Artcore
Поиск по сайту
сейчас слушаю
The Arrow
Chris Spheeris
Best of Chris Spheeris 1990-2000
4 hours ago
Eros
Chris Spheeris
Best of Chris Spheeris 1990-2000
4 hours ago
Samba Pa Ti
Gypsy Flamenco Masters
Flamenco Guitar - Beautiful World Guitar Music for Dining, Beach Spa, Lounge Ambience, Classical & Steel String Guitar Chill Out
4 hours ago
Mozart: Don Giovanni Suite KV 527 - (3) Madamina (Leporello)
Mozart, Wolfgang Amadeus Mozart
Mozart: DON GIOVANNI - Opera without Voices
4 hours ago
Quintetto No. 4 in Re Maggiore "Fandango" per Corda e Chitarra, G. 448: Allegro Maestoso
Jordi Savall, Rolf Lislevand, Luigi Boccherini, Le Concert des Nations
Luigi Boccherini: Fandango, Sinfonie & La Musica Notturna Di Madrid
5 hours 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]