mysql字符集编码问题!
最近学习JDBC连接mysql出现乱码,就查了资料说编码问题,现在产生了若干问题,如下:1.编码使用的字符集,例如utf-8,当我使用这种字符集保存txt文档时,意思是不...
最近学习JDBC 连接mysql 出现乱码 , 就查了资料 说编码问题, 现在产生了若干问题,如下:
1.编码使用的字符集,例如utf-8,当我使用这种字符集保存txt文档时,意思是不是就是说我txt里面的字符都是通过utf-8字符集一一翻译成二进制到硬盘上的???,同理,unicode等等都一样?
2.我以utf-8保存,是不是要用同样的编码格式“翻译”过来?
3.mysql中通过show variables like 'character%';出现的什么客户端字符集,连接字符集,服务器字符集等等是什么意思?
4我通过jdbc连接mysql 在url中设定的?useUnicode=true&characterEncoding=UTF-8是什么意思,是表示我的程序对mysql产生的一切数据操作,这些数据都通过utf-8字符集进行编码吗? 展开
1.编码使用的字符集,例如utf-8,当我使用这种字符集保存txt文档时,意思是不是就是说我txt里面的字符都是通过utf-8字符集一一翻译成二进制到硬盘上的???,同理,unicode等等都一样?
2.我以utf-8保存,是不是要用同样的编码格式“翻译”过来?
3.mysql中通过show variables like 'character%';出现的什么客户端字符集,连接字符集,服务器字符集等等是什么意思?
4我通过jdbc连接mysql 在url中设定的?useUnicode=true&characterEncoding=UTF-8是什么意思,是表示我的程序对mysql产生的一切数据操作,这些数据都通过utf-8字符集进行编码吗? 展开
1个回答
展开全部
1 首先你要明确,unicode是字符编码,unicode编码常用的存储格式有2种:utf8、utf16
这2种的区别就是存储格式不同,但是都是unicode编码,例如,中文的"你"字的utf8格式编码为:E4 BD A0; 而utf16编码为:60 4F。 有时候,说unicode编码的时候泛指UTF16,当这是不严谨的说法。
与unicode编码格式相对应的是内码,例如,中文的"你"字的内码编码为C4 E3。内码在不同语种中很多是相互重叠的,比如,用中文操作系统看日文内码的文本就是乱码;而unicode编码所为有语种安排了独立的区域,没有重叠,所以用中文操作系统看日文unicode没有障碍,这就是设计unicode的目的所在。
2 以utf-8保存,当然要用同样的编码格式进行解码
3 mysql中通过show variables like 'character%'出现的信息是指明mysql各模块默认使用的字符编码格式
4 url中设定的?useUnicode=true&characterEncoding=UTF-8表示你用sql语句存储的数据和查询出来的数据都用utf-8格式
这2种的区别就是存储格式不同,但是都是unicode编码,例如,中文的"你"字的utf8格式编码为:E4 BD A0; 而utf16编码为:60 4F。 有时候,说unicode编码的时候泛指UTF16,当这是不严谨的说法。
与unicode编码格式相对应的是内码,例如,中文的"你"字的内码编码为C4 E3。内码在不同语种中很多是相互重叠的,比如,用中文操作系统看日文内码的文本就是乱码;而unicode编码所为有语种安排了独立的区域,没有重叠,所以用中文操作系统看日文unicode没有障碍,这就是设计unicode的目的所在。
2 以utf-8保存,当然要用同样的编码格式进行解码
3 mysql中通过show variables like 'character%'出现的信息是指明mysql各模块默认使用的字符编码格式
4 url中设定的?useUnicode=true&characterEncoding=UTF-8表示你用sql语句存储的数据和查询出来的数据都用utf-8格式
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询