MYSQL 数据库中字符设置如下:Server version: 5.1.30-community MySQL Community Server (GPL)
mysql> show variables like "%character%";
+--------------------------+---------------------------------------------------| Variable_name | Value
+--------------------------+---------------------------------------------------
| character_set_client | gbk
| character_set_connection | gbk
| character_set_database | gbk
| character_set_filesystem | binary
| character_set_results | gbk
| character_set_server | gbk
| character_set_system | utf8
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.1\share\charets\ |
+--------------------------+-------------------------------------------------------+
8 rows in set (0.00 sec)mysql> show variables like "%collation%";
+----------------------+----------------+
| Variable_name | Value |
+----------------------+----------------+
| collation_connection | gbk_chinese_ci |
| collation_database | gbk_chinese_ci |
| collation_server | gbk_chinese_ci |
+----------------------+----------------+
3 rows in set (0.00 sec)我的设置方法是直接在 my.ini 文件的 default-character-set=GBK但是不知道为什么,在 mysql 中做插入中文数据的时候显示要么是问号 要么是 其他的字符;如下所示:1.建表:
mysql> create table test
-> (id int,
-> username nvarchar(50)
-> );
Query OK, 0 rows affected (0.09 sec) 2.插入数据:
mysql> insert into test values(1,"稍等");
Query OK, 1 row affected (0.08 sec)3.查询显示数据:
mysql> select * from test;
+------+----------+
| id | username |
+------+----------+
| 1 | |
+------+----------+没有显示中文?不知道是怎么回事,,请高手帮忙啊
mysql> show variables like "%character%";
+--------------------------+---------------------------------------------------| Variable_name | Value
+--------------------------+---------------------------------------------------
| character_set_client | gbk
| character_set_connection | gbk
| character_set_database | gbk
| character_set_filesystem | binary
| character_set_results | gbk
| character_set_server | gbk
| character_set_system | utf8
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.1\share\charets\ |
+--------------------------+-------------------------------------------------------+
8 rows in set (0.00 sec)mysql> show variables like "%collation%";
+----------------------+----------------+
| Variable_name | Value |
+----------------------+----------------+
| collation_connection | gbk_chinese_ci |
| collation_database | gbk_chinese_ci |
| collation_server | gbk_chinese_ci |
+----------------------+----------------+
3 rows in set (0.00 sec)我的设置方法是直接在 my.ini 文件的 default-character-set=GBK但是不知道为什么,在 mysql 中做插入中文数据的时候显示要么是问号 要么是 其他的字符;如下所示:1.建表:
mysql> create table test
-> (id int,
-> username nvarchar(50)
-> );
Query OK, 0 rows affected (0.09 sec) 2.插入数据:
mysql> insert into test values(1,"稍等");
Query OK, 1 row affected (0.08 sec)3.查询显示数据:
mysql> select * from test;
+------+----------+
| id | username |
+------+----------+
| 1 | |
+------+----------+没有显示中文?不知道是怎么回事,,请高手帮忙啊
主要考虑这几个字符集是否一致:数据库链接字符集、数据库默认字符集、表默认字符集、字段字符集
参考一下:http://www.blogjava.net/wldandan/archive/2007/09/04/142669.html
再进命令行时加mysql -uroot -p --default-character-set=gb2312
这样显示就正常了