Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Русские символы не сохраняться в cp1251_gener (Guest) 27/04/2007 - 13:33:01
      Re: Русские символы не сохраняться в cp1251_gener (Guest) 27/04/2007 - 13:35:23
      Re: Может есть ещё места определяющие кодировку?? (Guest) 27/04/2007 - 20:40:36
      Re: Может есть ещё места определяющие кодировку?? (Гость) 13/05/2007 - 03:53:48
      Re: Русские символы не сохраняться в cp1251_gener (121) 23/12/2010 - 16:00:08



From: Guest - 27/04/2007 - 13:33:01
Subject:Русские символы не сохраняться в cp1251_gener
-----------------
OS: Gentoo Linux
MySQL: 5.с чем-то (предпоследняя стабильная пятёрка)

Создаю таблицу, указываю сравнение: cp1251_general_ci
В браузере выставляю принудительно кодировку cp1251
Для теста вбиваю в таблицу кириличные символы таким скриптом:
[code]<?php
$link = mysql_connect ( "localhost", "root", "" ) or die ( mysql_error () );
mysql_select_db ( "test" );
mysql_query ( "insert into `my` values ('русские символы')" );
$result = mysql_query ( "select * from `my`" ) or die ( mysql_error () );
while ( $row = mysql_fetch_assoc ( $result ) ) {
echo $row['p_name'] . '<br>';
}
mysql_close ( $link );
?>[/code]
В ответ я вижу, что мои символы заменились знаками вопросов.. Как выявить проблему такого поведения??

Основная часть касающаяся кодировок в my.cnf (mysql config):
[code][client]
#password = your_password
port = 3306
socket = /var/run/mysqld/mysqld.sock

[mysql]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=cp1251

[mysqladmin]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=cp1251

[mysqlcheck]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=cp1251

[mysqldump]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=cp1251

[mysqlimport]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=cp1251

[mysqlshow]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=cp1251

[myisamchk]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=cp1251

[myisampack]
character-sets-dir=/usr/share/mysql/charsets
default-character-set=cp1251

# use [safe_mysqld] with mysql-3
[mysqld_safe]
err-log = /var/log/mysql/mysql.err

# add a section [mysqld-4.1] or [mysqld-5.0] for specific configurations
[mysqld]
character-sets-dir=/usr/share/mysql/charsets
character-set-server = cp1251
default-character-set = cp1251
user = mysql
port = 3306
socket = /var/run/mysqld/mysqld.sock
pid-file = /var/run/mysqld/mysqld.pid
log-error = /var/log/mysql/mysqld.err
basedir = /usr
datadir = /var/lib/mysql
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
language = /usr/share/mysql/english
[/code]
Т.е. как видите, везде кодировка прописана cp1251.
Дальше для убедительности можно посмотреть сюда:
[code]# mysql --help
....
auto-rehash TRUE
character-sets-dir /usr/share/mysql/charsets
default-character-set cp1251
compress FALSE
database (No default value)
delimiter ;
vertical FALSE
force FALSE
.........
[/code]

И почему ж оно не хочет сохранять мою кирилицу??
Системная кодировка в Линуксе koi8r.

Ещё замечание: если тестовый РНР скрипт сохранить в кодировке utf8 и браузер также переключить в utf8, а сравнение оставить тем же (т.е. cp1251_general_ci), то русские символы сохраняются отлично..
Т.о. сервер MySQL абсолютно не хочет воспринимать русский текст, который я пытаюсь передать ему.
Может я чего недоустановил при сборке..?


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
37786



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |