【发布时间】:2010-09-21 18:49:59
【问题描述】:
我正试图让我的 MySQL 表在此 MySQL Reference 页面中的行为与示例 2 中的 utf8 表一样:
CREATE TABLE germanutf8 (c CHAR(10)) CHARACTER SET utf8 COLLATE utf8_unicode_ci;
INSERT INTO germanutf8 VALUES ('Bar'), ('Bär');
SELECT * FROM germanutf8 WHERE c = 'Bär';
根据示例,这应该产生:
+------+
| c |
+------+
| Bar |
| Bär |
+------+
但我得到的只是简单的"Bär"。难道我做错了什么?我应该调整我的设置吗?
我已经在 Mac OS X 上的 MySQL 5.0.45 和 Red Hat 上的 5.0.51a 上尝试过这个。
编辑:我尝试设置SET NAMES 'utf8',但这仍然给出相同的结果。这样做后我的变量是
+--------------------------+---------------------------------------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql-5.0.45-osx10.4-powerpc-64bit/share/mysql/charsets/ |
+--------------------------+---------------------------------------------------------------------+
【问题讨论】:
标签: mysql unicode character-encoding collation