Модератор: Модераторы разделов
Asgard
Сообщения: 215
Статус: North Valfader
Сообщение
Asgard » 01.10.2005 10:23
Имеется mysql 4.1.14
Код: Выделить всё
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection| utf8_general_c |
| collation_database | utf8_general_c |
| collation_server | utf8_general_c |
+----------------------+-----------------+
создаю таблицу
Код: Выделить всё
CREATE TABLE tes (
id int NOT NULL auto_increment,
name varchar(55) NOT NULL,
PRIMARY KEY (id)) DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci
далее с помощью php-скрипта через веб-интерфейс вставлю в таблицу данные
Код: Выделить всё
...
f(!empty($_POST['name']))
mysql_query("INSERT INTO test (name) values('".$_POST['name']."' )") or die(mysql_error());
...
например, я ввожу в таблицу 2 слова 'идиотизм' и 'Идиотизм'. Простой запрос
в результате на выходе будет только первое слово, хотя должно выдать оба. Я недоумеваю, какого чёрта ведётся регистро-зависимый поиск, когда он должен быть регистро-независимым.
Помогите. Уже 4 часа над этой чушью парюсь
sator arepo tenet opera rotas ;)
------------------------------------------------------------
LJ
Asgard
Сообщения: 215
Статус: North Valfader
Сообщение
Asgard » 01.10.2005 17:54
Вопрос отпал. Кому интересно, всё должно вылядеть так:
Код: Выделить всё
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+
+--------------------------+----------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_results | NULL |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/share/mysql/charsets/ |
+--------------------------+----------------------------------+
кодировка на странице должна быть utf8
перед каждым запросом нужно выполнить:
Код: Выделить всё
mysql_query("SET CHARACTER SET utf8") or die(mysql_error());
sator arepo tenet opera rotas ;)
------------------------------------------------------------
LJ
charlie
Сообщения: 104
Сообщение
charlie » 01.10.2005 23:15
Ну или
Код: Выделить всё
mysql_query('SET NAMES utf8') or die(mysql_error())
Из университета Беркли вышли два главных продукта: LSD и BSD .
Ну было просто рулез!...