Я знаю, что существует много настроек для языка для таблицы и базы данных.
Я уже создал базу данных. Я верю, когда я создал его, это было ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ/ЛАТЫНЬ. Я хочу изменить все-I среднее... и таблица и база данных к UTF-8.
Как я могу сделать это?спасибо.
В ответе aioobe говорится, как изменить набор символов базы данных, таблицы или столбца. Следует помнить, что
установка набора символов для таблицы просто задает набор символов по умолчанию для новых столбцов в этой таблице. Она не изменяет набор символов для ранее существовавших столбцов; вы должны сделать это отдельно, ИЛИ если вы хотите изменить каждый столбец строкового типа в таблице на тот же набор символов, есть команда, которую можно использовать для этого: "alter table ... convert to character set" ( http://dev.mysql.com/doc/refman/5.1/en/alter-table.html )
Если у вас уже есть данные, которые хранятся в столбце в неправильной кодировке, то использование команды "alter table ... modify" для изменения столбца не решит проблему. Например, если вы хранили данные в формате UTF-8 в столбце Latin1 и изменили набор символов непосредственно с Latin1 на UTF-8, они все равно будут неправильно закодированы. Это можно обойти, конвертируя из Latin-1 в UTF-8 через двоичный код.
Взгляните на Использование команды alter для изменения набора символов .
Еще одна полезная ссылка: http://dev.mysql.com/doc/refman/5.0/en/charset-table.html
Общая форма -
ALTER DATABASE db_name
[[DEFAULT] CHARACTER SET charset_name]
[[DEFAULT] COLLATE collation_name]
, а для конкретного столбца в таблица
ALTER TABLE column COLLATE utf8_general_ci
Добавьте в my.cnf это:
[mysqld]
character-set-server=utf8
default-collation=utf8_unicode_ci
и перезапустите mysqld deamon.
ДОБАВЛЕНО:
ALTER DATABASE your_base_name CHARACTER SET utf8 COLLATE utf8_unicode_ci;
и my.cnf
SET collation_connection = utf8_unicode_ci;
SET character_set_results = utf8;
SET character_set_connection = utf8;
SET character_set_client = utf8;