MySQL插入中文汉字乱码问题解决方案

1、脚本语句

导入之前,先charset gbk。

修改表字段编码:

注意:这里用导入的方式插入的数据,控制台会报错。在我们的客户端工具中执行,就不会报错了。

2、MyBatis中,xml文件引入成为mapper的配置:

3、写junit测试类的时候,中文数据不能正常读取:

解决办法:字符串连接参数要添加一下。。

修改my.ini文件

用记事本或UitraEdit打开mysql数据库安装目录下的my.ini文件打开, 然后Ctrl+F搜索default-character-set,将后面的字符集修改为UTF8,注意要修改两个地方,一个事客户端的,一个是服务端的。

下修改my.ini

添加以下语句

[client]
default_character_set=utf8
[mysqld]
character-set-server = utf8
collation-server = utf8_general_ci
[mysql]
default_character_set=utf8

重启mysql服务,再次运行

然后保存,重启mysql服务

如果服务器设置没问题,只是php连接时出mysql乱码我们可参考下面方法解决

在mysql_connect后面加一句SET NAMES UTF8 或是GBK,根据数据库的设定而定。代码如下

数据库采用UTF8编码,而页面申明编码是GB2312,这是最常见的产生乱码的原因。这时候在PHP脚本里面直接SELECT数据出来的就是乱码,需要在查询前先使用:

mysql_query("SET NAMES GBK")2
或mysql_query("SET NAMES GB2312")2

例子

$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass)2
mysql_query("SET NAMES 1UTF81")2 //UTF8 这个就是你mysql字符编码了

时间: 2024-11-10 07:26:20

MySQL插入中文汉字乱码问题解决方案的相关文章

MySQL插入中文不乱码的5种方法_Mysql

方法一: 登录MySQL,先做 set names latin1 ,然后在更新语句或者执行SQL语句 mysql> set names latin1; mysql> source test.sql; 方法二:在SQL文件中指定set names latin1;然后登录MySQL,执行相应文件 [root@localhost ~]# cat test.sql set names latin1; insert *****************; mysql> source test.sql

Perl向MySQL插入中文乱码问题解决办法

当使用DBI向MySQL插入中文时,数据库中中文会显示乱码(即使表的编码为utf8),需要在插入语句前读取语句前添加编码设置 先说MySQL的字符集问题.Windows下可通过修改my.ini内的 # CLIENT SECTION [mysql] default-character-set=utf8 # SERVER SECTION [mysqld] default-character-set=utf8 这 两个字段来更改数据库的默认字符集.第一个是客户端默认的字符集,第二个是服务器端默认的字符

关于mysql插入中文字符的问题,急急急!!大家帮忙看一下

问题描述 关于mysql插入中文字符的问题,急急急!!大家帮忙看一下 我在my.ini中已经设置了默认编码是utf8,default-character-set=utf8, 这是数据表的结构 这是插入代码 求大神帮忙看看!! 解决方案 my.ini需要修改两处 default-character-set=utf8 character-set-server=utf8 而且修改后还需要重启mysql的服务 解决方案二: 急急急!!!哪位来帮忙啊!!!!!!

java向mysql数据库插入中文时乱码

问题描述 请各位赐教! 解决方案 1.数据库安装时就要选择utf-8为默认编码2.数据库连接的url写法如下:jdbc:mysql://localhost:3306/carshow?useUnicode=true&characterEncoding=utf83.在进行数据库操作时先打印或者断点调试下,看从页面过来数据是否已经乱码大致就以上几步,开发时最好选定一种统一的编码,给自己少添点麻烦.解决方案二:LZ这个说的太广泛了,这个问题可能原因比较多,至少要保证数据库的编码格式和你在java里对数据

hibernate向数据库插入中文时乱码

问题描述 我程序中的编码为UTF-8,安装MYSQL数据库时设置编码是utf8,用SQL向数据库里插入中文没有问题,但就是在程序中用hibernate保存数据时,后台接收的中文正常,控制台打印的SQL语句中中文变成乱码了,也没插入成功.请问这是怎么回事儿啊?我的连接数据库字符串是jdbc:mysql://localhost:3306/tour?characterEncoding=utf8急急~望各位指教! 解决方案 解决方案二:首先页面是否设置编码格式为utf-8?解决方案三:<property

求java mail 某些汉字乱码的解决方案

问题描述 用javamail接收邮件,中文不乱码,但某些生僻字读出来是乱码,各位有遇到这个问题的,求指点. 解决方案 解决方案二:什么叫生僻字读出来乱码.用的什么字符集.UTF-8先试试解决方案三:生僻字是不是系统字库不包含啊?解决方案四:记得以前遇到过一个中文乱码原因是生僻字系统字库木有!

MySQL中文汉字乱码问题分析

解决网页中乱码的问题,在程序查询时定义  代码如下 复制代码 db =  mysql _connect("localhost", "user","password");  mysql_select_db("message",$db); mysql_query("SET NAMES 'utf8'",$db);   将所有的环境都设置为utf8编码,你可以在sqlYog的查询窗口中使用 1. SHOW VARI

MySQL的中文UTF8乱码问题_Mysql

从MySQL支持Unicode后,为了与时俱进,我们的web程序也开始考虑用UTF8了.其实UTF8也用了好几年了,程序基本能跑,没什么大问题,但是数据倒换的时候,总是遇到不爽的事情. [问题现象] 网页xxx.php用EditPlus另存为UTF8格式,MySQL在my.ini里设置default-character-set=utf8,建表时加了CREATE TABLE `xxx ` (myname varchar(255)) ENGINE=MyISAM DEFAULT CHARSET=utf

MySQL 存中文出现乱码问题小结

在Linux下一般不会出现乱码问题,最近有很多朋友问到在Windows下面碰到此问题,现在小结一下 1.在mysql数据库中默认的数据库类型是latin1,必须将里面的默认数,据类型修改为中文的字符集,在安装mysql数据库文件夹中,选择my.ini文件夹,用记事本打开,找到get-characetr-enconding=latin1,将latin1改为gbk32,再启动你的mysql数据库~~你试下插入到数据库中的 数据是不是已经不是乱码了!? 2.要通过软件HeiSql来进行修改,这个软件比