我试图让我的 MySQL 表在这个MySQL 参考页面的示例 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/ |
+--------------------------+---------------------------------------------------------------------+