my.ini里[client]和[mysqld]下增加 default-character-set=utf8
执行 show variables like 'character_set_%';
+--------------------------+-----------------------------------+
| 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 | E:\mysql\mysql5.1\share\charsets\ |
+--------------------------+-----------------------------------+java端设置 conn.setCharacterEncoding("utf-8");
页面使用utf-8编码现在select出来的结果中的中文还是乱码
问题出现在哪里,怎么解决。
执行 show variables like 'character_set_%';
+--------------------------+-----------------------------------+
| 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 | E:\mysql\mysql5.1\share\charsets\ |
+--------------------------+-----------------------------------+java端设置 conn.setCharacterEncoding("utf-8");
页面使用utf-8编码现在select出来的结果中的中文还是乱码
问题出现在哪里,怎么解决。
我感觉楼上的方法和conn.setCharacterEncoding("utf-8"); 本质上是一个东西
我感觉#2楼的方法和conn.setCharacterEncoding("utf-8"); 本质上是一个东西
a).你的修改没有都改成utf8
b).你要重启一下MYSQL第二:你存入数据库的数据本身就是乱码。你要检查一些你存入的数据是不是乱码解决方法:
第一:
[mysql]default-character-set=utf8
# SERVER SECTION
# ----------------------------------------------------------------------
#
# The following options will be read by the MySQL Server. Make sure that
# you have installed the server correctly (see above) so it reads this
# file.
#
[mysqld]# The TCP/IP Port the MySQL Server will listen on
port=3306
#Path to installation directory. All paths are usually resolved relative to this.
basedir="E:/MYSQL/"#Path to the database root
datadir="E:/MYSQL/Data/"# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=utf8第二:你手动的插入一条中文数据到数据库里,再查看
我刚才也安装MYSQL ,我故意一开始的时候是设置编码为拉丁文,后来按照我上面说的操作,插入一条中文,查询出来仍然是中文
如果你感觉这样设置很麻烦的话,你可以一开始的时候就设置为utf8,就可以了
现在换了安装版,安装时选择utf-8编码,不用任何配置,乱码问题解决
对比一下,我开始乱码原因就在character_set_database
和character_set_server没有改成utf-8编码
不想给自己添麻烦,就用utf-8了