tFF.msk.ru :: Sharing tFFed mind
Май 28, 2024, 14:36:58 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости: Пропал ребенок. Вся информация и фотографии здесь.
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблема с кодировкой в MySQL  (Прочитано 7582 раз)
0 Пользователей и 1 Гость смотрят эту тему.
tFF
Administrator
Sr. Member
*****
Offline Offline

Сообщений: 422



WWW
« : Январь 16, 2006, 18:10:23 »

Цитировать
"По умолчанию на нашем хостинге установлен charset - latin1, collation - latin1_binary."

Это мой хостер. И он рекомендует, "...Для того чтобы текст написанный в кодировке CP-1251, отображался правильно на вашем сайте, а не виде вопросов, достаточно вписать в скрипте который вы используете для вашего сайта следующие команды после соединения с базой данных :
Код:
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
« Последнее редактирование: Апрель 08, 2006, 14:16:26 от tFF » Записан

So it goes...
tFF
Administrator
Sr. Member
*****
Offline Offline

Сообщений: 422



WWW
« Ответ #1 : Февраль 28, 2006, 23:23:29 »

Также некоторое представление о проблемах кодировки между UTF-8 и CP1251 может дать обсуждение установки Mambo под разными MySQL'ями.
Также медитируем над разделом Character Set Support документации к MySQL.
+ FAQ по Мускулу на мастерхосте
« Последнее редактирование: Апрель 07, 2006, 01:18:23 от tFF » Записан

So it goes...
tFF
Administrator
Sr. Member
*****
Offline Offline

Сообщений: 422



WWW
« Ответ #2 : Октябрь 23, 2006, 12:03:01 »

Знаки вопроса вместо русских букв в cp1251 (MySQL 5 + PHP 5)

1. В серверной части my.cnf (разделы: [mysqld] и/или [mysqld_safe]) прописываем:
init-connect = 'SET NAMES cp1251'

2. init-connect задает последовательность действий при установлении каждого соединения. НО! данная последовательность действий не будет выполняться под пользователем с супер-правами. Т.е. для того чтобы эта "настройка" заработала, надо создать пользователя базы, который не обладает супер-правами, а обладает только правами для конкретной базы.


пример my.cnf:
Код:
[client]
port = 3306
default-character-set = cp1251

[mysqld_safe]
character-set-server = cp1251
init-connect = 'SET NAMES cp1251'

[mysqld]
port = 3306
character-set-server = cp1251
init-connect = 'SET NAMES cp1251'


И не надо будет никаких "костылей" после mysql_connect (см. первое сообщение)

PS Также полезно почтитать о том, как люди бились с мускулом и цп1251, чтобы не повторять чужих ошибок.
« Последнее редактирование: Октябрь 23, 2006, 13:44:58 от tFF » Записан

So it goes...
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

 ONLINECHANGE
Powered by MySQL Powered by PHP Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC Valid XHTML 1.0! Valid CSS!


Google visited last this page Август 28, 2018, 11:28:17