码迷,mamicode.com
首页 > 其他好文 > 详细

开发中的乱码问题

时间:2017-05-28 10:01:39      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:jdbc   表达   java   html   英语   概念   字符编码   组织   htm   

下面总结一下这些常用编码的概念,很多初级程序员只知道这些是一种编码,但不知道真正的作用。

ASCLL:这种编码计算机专业的都学过,是一种英文编码规则,如果是英语系统用这种编码就够了。
单字节,最多能表达256种字符。
ISO8859-(1-15):它是对ASCLL编码的扩展 所以也是单字节的。ISO(国际标准组织)不把中文当回事,
很多小国家的文字都扩展了如:冰岛语之类的,就是不扩展中文。其实不是歧视,而已是那些国家的
文字都是由一串字母组成的,比较相似,编码规则一样。如果中文全部用拼音来表达的话,那就不用出现后面的中文编码了。

GB2312:中国人终于站起来了,我们自己也搞了一套编码规则。不过只有简体。采用双字节(具体原理百度一下这里就讲太多了)。
GBK:GB2312还是不够用,扩展一下吧。繁体也进来吧!一家人。
unicode:统一字符编码标准集,把上面所有的都包括进来。采用双字节,没办法,因为中文是双字节的,只能预留多点。
urt-8:中文就是麻烦,浪费了很多空间,英文用1个字节就可以了,就一定用2个字节。根据特点自己分配空间。有些字符还会出现三个字符。


系统中能所有显示的字符,都会根据系统字体集中的编码来解码现实,如何没有的话,就会出现乱码。
如:如果你的系统是英文系统,而英文系统里没有中文的编码的话,就会出现乱码。
重点来了:做WEB开发的话,必须知道,web容器,IE,POST/GET,java/C#或其他语言,JDBC,它们都是用什么编码的。
IE可以自由选择编码。
java/C#:unicode
web容器:ISO8859-1.
JDBC:ISO8859-1.
POST/GET:ISO8859-1,但可以在获取GET/POST传过来的数据之前,就先对request过来的数据进行转码。
当然也可以在服务器每次响应浏览器时,就设置好浏览器GET/POST过来的编码,response.setcontenttype("text/html;charset=GBK");
发开中经常会出现?乱码:unicode转其他编码时,如果没有对应的编码,就会出现?
而反过来其他编码转unicode,就会出现?0xfffd.

开发中的乱码问题

标签:jdbc   表达   java   html   英语   概念   字符编码   组织   htm   

原文地址:http://www.cnblogs.com/wolf12/p/6914871.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!