Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Кодировка MySQL3.2 and FreeBSD (http://forum.oszone.net/showthread.php?t=80418)

Bubble2007 05-03-2007 17:01 558178

Кодировка MySQL3.2 and FreeBSD
 
У меня возник такого плана вопрос :
"Как поменять стандартную (Latin) кодировку сервера MySQL "3.2" на кодировку ср1251. Проблема состоит в том что
1. Сервер под FreeBSD
2. Файл my.nf* я не нашел на сервере.


PS: Поском пользовался вразумительных ответов я ненашел :(.

Igor_I 05-03-2007 19:53 558229

Единственное, что я знаю - http://phpclub.ru/faq/wakka.php?wakka=Mysql41Rus&v=eum. Но это про 4.1

ruslandh 05-03-2007 22:52 558277

http://downloads.mysql.com/docs/refm...ru.html.tar.gz
refman-4.0-ru.html-chapter/mysql-database-administration.html#character-sets
Цитата:

Цитата refman-4.0-ru.html-chapter/mysql-database-administration.html
4.6.1. Набор символов, применяющийся для записи данных и сортировки
При запуске сервера можно изменить набор символов при помощи параметра --default-character-set. Выбрать доступные наборы символов можно при помощи параметров --with-charset=charset и --with-extra-charsets= список-кодировок | complex | all, и файлов наборов символов, перечисленных в SHAREDIR/charsets/Index. See Раздел 2.3.3, «Типичные опции configure ».
При смене набора символов во время работы MySQL (что может одновременно изменить и порядок сортировки) необходимо запустить команду myisamchk -r -q --set-character-set=charset для всех таблиц. В противном случае индексы могут быть созданы в неправильном порядке.
......................
2.3.3. Типичные опции configure
По умолчанию в MySQL используется кодировка ISO-8859-1 (Latin1). Для изменения кодировки, принятой по умолчанию, следует применить опцию --with-charset:
shell> ./configure --with-charset=CHARSET

CHARSET может принимать одно из следующих значений: big5, cp1251, cp1257, czech, danish, dec8, dos, euc_kr, gb2312, gbk, german1, hebrew, hp8, hungarian, koi8_ru, koi8_ukr, cp1251, latin2, sjis, swe7, tis620, ujis, usa7 или win1251ukr (see Раздел 4.6.1, «Набор символов, применяющийся для записи данных и сортировки»). Если требуется преобразовывать символы между сервером и клиентом, следует рассмотреть команду SET CHARACTER SET (see Раздел 5.5.6, «Синтаксис команды SET»).
Предупреждение: если набор символов изменяется после создания таблиц, необходимо запустить myisamchk -r -q --set-characted-set=charset на каждой таблице. В противном случае индексы могут сортироваться неправильно (такое может случиться, если вы установите MySQL, создадите ряд таблиц, затем переконфигурируете MySQL с целью использования другого набора символов и заново установите MySQL).
С помощью опции --with-extra-charsets=LIST можно определить, какие дополнительные кодировки необходимо скомпилировать в данном сервере.


Bubble2007 06-03-2007 14:01 558520

myisamchk -r -q --set-character-set=charset -- I tak ponimay cho eto edinstvenniy sposop smenit' kodirovky vo vremay raboti MySql ?

ruslandh 06-03-2007 21:13 558655

Читайте документ - я не знаю :)

mar 07-03-2007 00:20 558726

my.cnf - (лучше искать по "my.*") может и не быть. В этом случае можете сами его создать и вперед. Для того, чтобы менять кодировку на что-то надо, чтобы mysql был собран с соответствующей поддержкой. Вообще я не помню уже, как оно было в 3 ветке, но в 4-ой точно можно использовать при создании бд с любой из поддерживаемых сервером кодировок.

Bubble2007 12-03-2007 12:58 560588

хм .. пробЫвал не получается ... а какие настройки должны быть в my.cnf ..

Igor_I 12-03-2007 23:00 560820

Bubble2007
прикинься пхп-эшником и задай там вопрос - http://phpclub.ru/talk/forumdisplay.php?forumid=7

Bubble2007 13-03-2007 10:58 560976

Пасиба постараюсь прикинуться :)

[mzd] 13-03-2007 13:15 561033

Вот еще набрел на статейку Кодовая страница «CP 1251» или как я боролся с кодировкой в MySQL 4.1.x

Bubble2007 16-03-2007 11:10 562462

Все оказалось предельно просто
1. создать файл my.cnf
2. записать туда строку default-character-set=cp1251
3. подключить к серваку MySQL методом указания глобальной переменной:)
мож кому пригодится
большое пасиба за помощ и понимание

Barracuda 30-03-2007 03:09 568280

вообще у mysql есть стартовый скрипт и там, вроде как, есть такой параметр, как --character-set-server==
Во Фрях (те, что 5х и выше), можно воткнуть его в rc.conf под именем mysqld_args="--character-set-server=cp1251"
Код:

man mysqld(1):
...
--character-set-server=charset_name
          Use charset_name as the default server character set. This option is
          available as of MySQL 4.1.3. See Section 8.1, "The Character Set
          Used for Data and Sorting".
...
--default-character-set=
          Use charset_name as the default character set. This option is
          deprecated in favor of --character-set-server as of MySQL 4.1.3. See
          Section 8.1, "The Character Set Used for Data and Sorting".
...

Это для 4.1, но для 3.х что-то подобное тоже есть.
[mzd]
Статья так себе... Про права и кодировку говорится в доках. А вообще - надо движки делать толковые и понимать механизм работы. Ставим в движок (прога на перле, сайт) соответствующий SET NAMES и не имеем головной боли.

Igor_I 31-03-2007 00:17 568771

Не факт.
http://forum.oszone.net/thread-79784.html


Время: 01:42.

Время: 01:42.
© OSzone.net 2001-