中文乱码问题
来源:互联网 发布:js 控制滚动条位置 编辑:程序博客网 时间:2024/06/05 20:31
什么是编码?
简单来说就是把一段文字信息转化为数字信息。比如我想的一句话
“我要成为很帅的企业家”—-如何转化为数字信息呢? 做一个码表。如图
然后这个表有坐标,每个字就有他独特的坐标,把坐标信息发给你想告诉的那个人,那个人再对着表就能得到你想传递给他的信息了。这就是编码的基本原理。
这个编码是美国人想出来的(因为互联网都是他们发明出来的),他们就为自己的英文单词做了码表就是 ASCII码。他们把需要用到的字符,字母收集完了以后只要128个,可以算一下128 –2的7次方,但是计算机存储的最小单位是一个字节就是2的8次方位。所以他们就是前面加1个0,就构成了8位。后来随着计算机的发展,很多其他国家也需要用到码表,所以原来的ASCll码表就不够用了,就有了新的码表。
新的码表是怎么建的呢? 就是在原来的ASCll码表上拓展来的,把ASCll码表变大新加入的放其他位置,原来他的位置不变。所以英文就从来没有乱码问题。
然后不同的地区的国家就有不同的码表,像我国就有gb2313和他的升级版本gbk,欧洲就有iso8859-1 还有Java的 Unicode
ASCII:美国标准信息交换码。用一个字节的7位可以表示。
ISO8859-1:拉丁码表。欧洲码表用一个字节的8位表示。
GB2312:中国的中文编码表。
GBK:中国的中文编码表升级,融合了更多的中文文字符号。
Unicode:国际标准码,融合了多种文字。
UTF-8:一种变长的unicode码的实现方式,由1~4个字节表示。(Unicode的优化版本吧。变长的)
那么中文乱码是怎么回事?怎么来的呢?
我们一般在网络上浏览网页什么的都是通过Tomcat服务器发布的,而这个服务器是欧洲人做的,当我们使用Tomcat发布的时候,过程是这样的。
那么怎么解决呢? 很简单,你是因为经过了IOS8859-1这个编码才错误的,我就把你的str 再经过IOS8859-1解码一次,我再用自己的utf-8编码不就好了吗?
来看代码
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
解决之后的代码
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
结果
然后下面的代码是我的大神老师讲的时候用大代码。嘻嘻
/*以后我们开发后台会遇到一个乱码场景:
* 1、浏览器编码并发送(str的字节数组–码值)—>
* 2、Tomcat接收并解码(查iso8859-1表,得到字符串name),
* 传参给 MyServlet —>
* 3、MyServlet接收到的name参数就是乱码
*/
- 中文乱码问题
- Webshpere 中文乱码问题。
- JPGraph中文乱码问题
- 中文乱码问题
- 中文乱码问题
- 解决中文乱码问题
- AJAX中文乱码问题
- JSF中文乱码问题
- JBuilder2005中文乱码问题
- jsp中文乱码问题
- AO中文乱码问题
- AO中文乱码问题
- 中文乱码问题总结
- Ajax中文乱码问题
- 解决中文乱码问题
- 中文乱码问题
- java中文乱码问题
- 解决中文乱码问题
- Hibernate(七)多对多映射
- 【OpenCV】知识点
- shiroFilter设计原理与实现
- 空间BSP
- BSP二叉树的数学原理(绝对原创)
- 中文乱码问题
- 查看时序图,芯片是上升沿还是下降沿读写数据
- Kotlin 分支的使用
- 制作树苺派SD卡备份镜像——树苺派系统备份与还原指南
- 判断前向面的方法
- 常见的排序算法 Java实现
- BSP二叉树算法
- MyEclipse和Eclipse的Tomcat运行区别
- HAUT 1285: 军团再临【并查集*逆向思维】