mysql中文乱码问题

发布网友 发布时间:2022-04-22 00:48

我来回答

7个回答

热心网友 时间:2022-04-07 16:06

一、转码失败
在数据写入到表的过程中转码失败,数据库端也没有进行恰当的处理,导致存放在表里的数据乱码。
针对这种情况,前几篇文章介绍过客户端发送请求到服务端。
其中任意一个编码不一致,都会导致表里的数据存入不正确的编码而产生乱码。
比如下面简单一条语句:
set @a = "文本字符串";
insert into t1 values(@a);

热心网友 时间:2022-04-07 17:24

我看你这里面采用了好多编码,这样会很乱的,还要转换,说不准都把自己给转迷了,我的建议是你能把编码都统一一下,包括数据库、过滤器和页面。在这之前你看看你的mysql连接字符串有没有编码就是这样的
jdbc.url=jdbc:mysql://localhost3306/database?useUnicode=true&characterEncoding=gbk
这里是GBK编码,你要是没有用编码的,你先这样写试试,不行就把编码characterEncoding=gbk换成characterEncoding=gbk换成其他的编码试试。实在不行就统一编码,一般国内的程序都是gbk或者gb2312,如果你想做成国际的就是utf-8

参考资料:http://study.qqcf.com/web/268/37086.htm

热心网友 时间:2022-04-07 18:58

同意ls8707观点。
jdbc:mysql://localhost:3306/database?useUnicode=true&characterEncoding=GBK

我看到你的character_set_database编码为GBK,所以你只需要在数据库连接URL处将字符编码指定为GBK即可。另外服务器端读写数据库均不需要进行编码转换。

热心网友 时间:2022-04-07 20:50

就目前我知道的,读取无所谓了,在代码你就能控制~ 但写入数据库不修改数据库编码别无他法。因为latin1字符集,为ISO 8859-1西欧字符集。插入中文字符时,与之不匹配。字符集不匹配一定会出现?号的~

热心网友 时间:2022-04-07 22:58

只要注意前后台编码一致,乱码出现的概率就小了,我一直用的都是UTF-8.

热心网友 时间:2022-04-08 01:22

恩 mysql数据转的时候 中文变乱码 ,这问题我也遇到过,
这是我的解决经过 和 办法 总结了:
http://hi.baidu.com/%CA%A5%D5%DF%B6%C9%CE%D2/blog/item/816ebc2274d3794dad34deb7.html
一定有效果的。

热心网友 时间:2022-04-08 04:04

通过sqlyog看下表对象的编码是什么,改成GBK试试

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com