今天往mysql数据库中插入中文数据出现了乱码问题,使用
mysql> show variables like '%char%';显示如下:
+--------------------------+--------------------------------------------------
-----+
| Variable_name | Value
|
+--------------------------+--------------------------------------------------
-----+
| character_set_client | latin1
|
| character_set_connection | latin1
|
| character_set_database | latin1
|
| character_set_filesystem | binary
|
| character_set_results | latin1
|
| character_set_server | latin1
|
| character_set_system | utf8
|
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.0\share\cha
ets\ |
+--------------------------+--------------------------------------------------
于是在mysql安装目录下打开my.ini文件找到default-character-set=latin1,将其修改为:default-character-set=utf8,重启,
执行mysql> show variables like '%char%';
mysql> show variables like '%char%';
+--------------------------+-------------------
-----+
| Variable_name | Value
|
+--------------------------+-------------------
-----+
| character_set_client | utf8
|
| character_set_connection | utf8
|
| character_set_database | latin1
|
| character_set_filesystem | binary
|
| character_set_results | utf8
|
| character_set_server | latin1
|
| character_set_system | utf8
|
| character_sets_dir | C:\Program Files\M
ets\ |
+--------------------------+-------------------
character_set_database | latin1 和 character_set_server | latin1
始终没有修改过来,乱码问题依然存在,后来尝试在数据库连接中加入?useUnicode=true&characterEncoding=UTF-8,暂时解决了问题,但是character_set_database 和 character_set_server 到哪里去修改呢?
mysql> show variables like '%char%';显示如下:
+--------------------------+--------------------------------------------------
-----+
| Variable_name | Value
|
+--------------------------+--------------------------------------------------
-----+
| character_set_client | latin1
|
| character_set_connection | latin1
|
| character_set_database | latin1
|
| character_set_filesystem | binary
|
| character_set_results | latin1
|
| character_set_server | latin1
|
| character_set_system | utf8
|
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.0\share\cha
ets\ |
+--------------------------+--------------------------------------------------
于是在mysql安装目录下打开my.ini文件找到default-character-set=latin1,将其修改为:default-character-set=utf8,重启,
执行mysql> show variables like '%char%';
mysql> show variables like '%char%';
+--------------------------+-------------------
-----+
| Variable_name | Value
|
+--------------------------+-------------------
-----+
| character_set_client | utf8
|
| character_set_connection | utf8
|
| character_set_database | latin1
|
| character_set_filesystem | binary
|
| character_set_results | utf8
|
| character_set_server | latin1
|
| character_set_system | utf8
|
| character_sets_dir | C:\Program Files\M
ets\ |
+--------------------------+-------------------
character_set_database | latin1 和 character_set_server | latin1
始终没有修改过来,乱码问题依然存在,后来尝试在数据库连接中加入?useUnicode=true&characterEncoding=UTF-8,暂时解决了问题,但是character_set_database 和 character_set_server 到哪里去修改呢?
解决方案 »
- 提示mysql_init()没定义
- mysql 插入数据出错1062 Duplicate entry '28' for key 'PRIMARY'
- 执行完一个带order排序的sql查询后,如何按顺序加一个列,使列的值与每一条记录的顺序一致?
- 急救。。。。 mySql 导出数据的问题
- SQL性能(REPLACE/SELECT+INSERT+UPDATE/INSERT...ON DUPLICATE KEY)
- DATETIME类型的问题
- 不同的连接查询出的结果不一致
- 请问有谁知道哪有关于MYSQL的教学录像下载?
- 这个例子算不可重复读还是虚读(幻读)
- 如何提升操作mysql数据库的能力
- postgresql备份
- Mysql中是否有判断两个日期间隔多少工作日(排除周六周日和节日)的函数?
character_set_server 是你 my.ini 中的 [mysqld] 节中的 default-character-set (注意是mysqld 中而不是 mysql 下的那个)
MySQL 中文显示乱码