java项目向mysql中插入中文出现乱码!求解!!!

java项目向mysql中插入中文出现乱码!求解!!!,第1张

就是乱码,本身UNICODE编码中文按utf-8字符集保存,在数据库中保存的就是utf-8字符

简单的说一个汉字转换为两个utf-8字符了,在数据库中已不是汉字了。

java取回来是JDBC帮你转回来了

你应该是安装mysql的时候编码你是选择默认的吧。

你可以找到mysql的安装目录MySQL Server 5.0\bin\MySQLInstanceConfig.exe

重新配置下就可以了。一般选择utf-8编码。

再一个如果数据库开始就建立好了。alter database 表名 character set utf8

连接数据库设置编码

jdbc:mysql://地址:3306/数据库名?characterEncoding=utf8

遇到汉字先做转码,然后再插入选择,你数据库的编码类型的,如下例子有用

System.out.println("中文")//1

System.out.println("中文".getBytes())//2

System.out.println("中文".getBytes("GB2312"))//3

System.out.println("中文".getBytes("ISO8859_1"))//4

System.out.println(new String("中文".getBytes()))//5

System.out.println(new String("中文".getBytes(),"GB2312"))//6

System.out.println(new String("中文".getBytes(),"ISO8859_1"))//7

System.out.println(new String("中文".getBytes("GB2312")))//8

System.out.println(new String("中文".getBytes("GB2312"),"GB2312"))//9

System.out.println(new String("中文".getBytes("GB2312"),"ISO8859_1"))//10

System.out.println(new String("中文".getBytes("ISO8859_1")))//11

System.out.println(new String("中文".getBytes("ISO8859_1"),"GB2312"))//12

System.out.println(new String("中文".getBytes("ISO8859_1"),"ISO8859_1"))//13


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11651230.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存