PHP/MYSQL Русские буквы при соединении с БД

Материал из Выращивание растений.
Перейти к: навигация, поиск


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

Администраторам хостингов - "дефолтная" кодировка MySQL клиента может быть указана при его сборке! Т.е. без всякого my.cnf

      ./configure --prefix=/usr/local/mysql4 --without-server --with-charset=koi8r

PHP - программистам помогут такие строки:

      mysql_query("SET NAMES 'koi8r'"); 
      mysql_query("SET collation_connection = 'koi8r_general_ci'"); 
      mysql_query("SET collation_server = 'koi8r_general_ci'"); 
      mysql_query("SET character_set_client = 'koi8r'"); 
      mysql_query("SET character_set_connection = 'koi8r'"); 
      mysql_query("SET character_set_results = 'koi8r'"); 
      mysql_query("SET character_set_server = 'koi8r'");