中文乱码解决方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

GB1Baidu Nhomakorabea030
GB18030是由国家信息产业部和质量监督总 局于2000年发布的编码方式,在GB2312和 GBK的基础上进行的扩充,增加了一些新的 字符,主要包括少数名族使用的字符。主要 解决疑、难、偏等字符问题。
BIG5
Big5又称作大五码,是针对繁体汉字的编码 方式。目前主要用在香港、台湾、澳门的计 算机系统中。它也是双字节编码,一共收录 了5401个常用字和7652个次常用字。
当用户打开浏览器访问某个网站时,网站服务 器就会在它的内存为这个浏览器分配一个“空 间”,这个“空间”被该浏览器独享。空间中 存放的数据默认生存时间是30min,可以修改。
Session在Web中的应用
(1) 实现网上交易平台的购物车功能。 (2) 保存用户的登录信息 (3)防止用户非法登录到某个页面
对应语言 英语 拉丁字母 简体中文 简体中文 简体中文 繁体中文 多国语言
ASCII编码
ASCII使用7个比特进行编码,最多可表示 128个字符。包括大小写英文字母,阿拉伯 数字、标点符号、控制字符等。每个字符用 一个字节表示,字节的最高位是0。
A的ASCII表示方法: 01000001
ISO8859-1
Session的使用
可以把Session理解成一张二维表,这个表有 两列。每一行是Session的一个属性,行数没 有限制。
一个属性包括两个部分,一个部分是属性的名 字,另一个是属性的值。
Session
Name
Value
Session的使用
(1) 得到Session对象 HttpSession hs=request.getSession(true);
Codepage
Unicode不兼容GB2312、GBK和Big5等字符集,也不兼 容其他国家的字符集,为了能顺利实现unicode和其他字 符集之间的转换,需要使用codepage技术。
Codepage是各种字符集和Unicode之间的映射表。
codepage 字符集
936
简体中文GBK
Java web中文乱码解决方法
1.调用JSP页面显示乱码 2.
Cookie在Web应用中的表现
1.保存用户名、密码,在一定时 间内不用登录。
2.记录用户访问网站的喜好(例如 网站背景音乐等)
3.网站的个性化服务,例如定制 服务、内容等。例如订阅天气预 报等
sendRedirect()方法
(1) welcome代表要跳转到的servlet的url。 (2) servlet名和变量名之间要有个?。 (3) 如果传递两个以上的变量,变量之间要
用&。 (4) 如果传递的是中文,需要进行编码处理。
sendRedirect()应用案例
对用户登录系统进行改进,在欢迎界面显示 用户的姓名。
通过该方法将一个信息传递给下一个页面, 例如:
sendRedirect(“welcome?userName=oyhj”); 的形式。
优点:传递信息的速度很快。 缺点:它只能传递一个字符串,而不能传递对
象。
sendRedirect()方法(续)
sendRedirect(“welcome?userName=oyhj ”);
(2) 向Session添加属性 hs.setAttribute(String name,Object value);
(3) 从Session得到某个属性 String name=hs.getAttribute(String name);



源码见UserLogin(V1.1)
隐藏表单
隐藏表单是最常见的一种方式,也是最简单的 一种。
<form action=login> <input type=hidden name=oyhj value=aaa> </form>

见源码:HiddenFormTest
Session技术
本章内容
1.了解字符集与编码方法 2.Java中字符的表示与处理 3.Web开发中的各种中文乱码解决方法
字符集与编码方法
字符集 ASCII ISO8859-1 GB2312 GBK GB18030 Big5 Unicode
字符编码 ASCII ISO8859-1 GB2312 GBK GB18030 Big5 UTF-8
又称作扩展的ASCII编码,采用8比特进行编 码。新增的字符主要用来支持部分欧洲国家 所使用的语言,例如:德语、葡萄牙语、西 班牙语等。ISO8859-1兼容ASCII编码。
GB2312
1981年,开始使用<<信息交换用汉字编码字符集-基本集 >>,GB2312。
GB2312使用双字节编码,一共包含了7445个字符,包括 6763个汉字。对汉字分了两级,一级常用汉字3755个汉字, 按照拼音排序。二级汉字次常用汉字3008个。按照部首排 序。
950
繁体中文Big5
932
日文
949
韩文
Java中字符的表示与处理
Java中的字符主要通过char、byte和 String这3种类型表示。
char表示的是一个unicode字符,String 是字符串(多个char类型字符的序列)。字 符串在网络传输或者存储前需要转换成 byte类型的数组。从网络接收或从存储设 备读取的内容一般都是byte类型的数组。
Unicode
1991年unicode组织把世界上几十种文字整 合在一个字符集中。Unicode中的每一个字 符都有一个唯一的数字进行表示。
现在unicode已经被广泛的使用,Java语言、 Window XP、和MS office等软件内部都使 用了unicode编码。
官方网址:www.unicode.org 最新版本是5.0
GB2312主要应用在中国大陆和新加坡,几乎所有的中文系 统和国际化软件都支持GB2312,同时也支持ASCII编码。
GBK
GBK是<<汉字内码扩展规范>>的简称,是 在GB2312的基础上进行的扩充。
GBK收录了21886个汉字和符号,其中汉字 21003个,图形符号883个。并且与GB2312 编码完全兼容。
相关文档
最新文档