•ASCII
ØASCII使用7个比特(bit)进行字符编码,最多可以表示的字符数量为27(128)个字符,这些字符包括了大小写英文字母、阿拉伯数字、标点符号、控制字符和其他符号。每个字符用一个字节表示,每个字节的最高位为0。例如:字符“A”在用ASCII码中用2进制的“01000001”表示,换算成10进制为“65”。
 
 
•ISO8859-1
ØISO8859-1,又称Latin-1,是在ASCII的基础上,使用8比特编码,新增了一些字符。新增的字符主要用来支持部分欧洲国家所使用的语言,例如:德语、葡萄牙语和西班牙语等。也就是说,ISO8859-1兼容ASCII。
ØISO8859另外定义了14个适用于不同文字的字符集(8859-2到8859-15),这些字符集共享0-127的ASCII码,只是每个字符集都包含了128-255的其他字符
 
 
•GBK
Ø在GB2312的基础上又进行了扩充。在1995年,推出了《汉字内码扩展规范》,简称GBK。
ØGBK收录了21886个汉字和图形符号,其中汉字21003个,图形符号883个,并且向下与GB2312编码完全兼容。
 
 
•GB18030
ØGB18030-2000编码标准是由信息产业部和国家质量技术监督局在2000年联合发布的,GB18030编码标准是在原来的GB2312和GBK编码标准的基础上进行扩充,增加了一些新的字符,特别是一些少数民族使用的字符。它的主要目的是为了解决一些生、偏、难字的问题。
•BIG5
ØBIG5又称为大五码,是针对繁体汉字的汉字编码,目前广泛应用在在台湾、澳门和香港地区的电脑系统中。BIG5也是双字节编码,一共收录了5401个常用字和7652个次常用字。
•Unicode
Ø1991年Unicode把世界上几十种文字整合在一个字符集中,Unicode中每个字符都有一个唯一的数字进行表示。Unicode是由 Unicode 学术学会(Unicode Consortium)进行相关标准的制订与推广。
Ø现在Unicode已经被广泛的使用,Java、Windows XP、和MS Office等软件内部都使用了Unicode作为内码。
Ø目前已经定义了40000多个不同Unicode字符,剩余的留给将来扩展使用。其中20000个字符用于汉字,11000左右个用于韩语音节。同样兼容ASCII。
•UTF-8
ØUTF是Unicode/UCS Transformation Format (统一字符集/统一字符编码转换格式)的缩写,UTF就是Unicode的一种字符编码(转换)方法。Unicode组织推荐使用的是UTF-8和UTF-16,UTF-8是一种变长的编码方式,也是当前Unicode最常用的一种字符编码(转换)方法。
•使用Unicode编码,一个英文字符要用两个字节,在Internet上,大多数信息使用英文表示的,如果采用Unicode编码,将会使数据量增加一倍。为了减少存储和传输英文字符数据的数据量,可以使用UTF-8编码。

因为中文字符的Unicode编码在0x0800与0xffff之间,所以数据如果是中文,采用UTF-8编码数据量会增加50%

•JSP文件的汉字问题
•Servlet的汉字问题
•表单处理的汉字问题
•数据库的汉字问题
•JSP文件的汉字问题
Ø通过浏览器调用JSP页面,在浏览器中所有的中文内容出现乱码。
Ø在JSP页面的开始,添加<%@ pageEncoding=“UTF-8”%>或者contentType="text/html;charset=utf-8"就可以解决这个中文乱码问题。
•Servlet的汉字问题
Ø通过浏览器调用Servlet,Servlet在浏览器中显示的内容出现乱码。
Ø在Servlet使用response对输出内容之前,先执行response.setContentType("text/html;charset=utf-8") ,设定输出的内容的编码为UTF-8。
•POST表单传递参数乱码
Ø通过JSP页面、HTML页面或者Servlet中的表单元素提交参数给对应的JSP页面或者Servlet,而JSP页面或者Servlet接收的中文参数值乱码。
Ø在接收POST 提交的参数之前, 使用request.setCharacterEncoding(“UTF-8”) 设定接收参数的内容使用UTF-8编码。
Ø更好的解决方法,就是使用过滤器技术,在接收参数之前,设定传递的参数内容的编码是UTF-8
•GET表单传递参数乱码
Ø使用表单传递参数,可以通过POST或者GET方式。不使用表单,还可以使用链接方式传递参数,这种传递参数的方法本质上就是GET方式传递参数,这种传递参数的值是中文,也会出现乱码。
Ø解决方法一:修改Tomcat的server.xml文件

<Connector port="8080"  protocol="HTTP/1.1“  maxThreads="150“

redirectPort="8443" URIEncoding="UTF-8"/>

Ø解决方法二:程序中进行编码转换处理

String name=request.getParameter("name");

byte b[]=name.getBytes("iso-8859-1");

name=new String(b,"utf-8");

out.println(name);

•写入MYSQL中文乱码
Ø运行mysql配置向导界面,指定正确字符集  utf-8s
Ø修改mysql安装目录下my.ini文件
Ødefault-character-set=utf8,共计两处。

java中文乱码问题的更多相关文章

  1. java中文乱码解决之道(一)-----认识字符集

    沉寂了许久(大概有三个多月了吧),LZ"按捺不住"开始写博了! java编码中的中文问题是一个老生常谈的问题了,每次遇到中文乱码LZ要么是按照以前的经验修改,要么则是baidu.c ...

  2. java中文乱码解决之道(九)-----总结

    乱码,我们前台展示的杀手,可能有些朋友和我的经历一样:遇到乱码先按照自己的经验来解决,如果没有解决就google,运气好一搜就可以解决,运气不好可能够你折腾一番了.LZ之所以写这个系列博客就是因为遇到 ...

  3. java中文乱码解决之道(二)-----字符编码详解:基础知识 + ASCII + GB**

    在上篇博文(java中文乱码解决之道(一)-----认识字符集)中,LZ简单介绍了主流的字符编码,对各种编码都是点到为止,以下LZ将详细阐述字符集.字符编码等基础知识和ASCII.GB的详情. 一.基 ...

  4. java中文乱码解决之道(七)-----JSP页面编码过程

    我们知道JSP页面是需要转换为servlet的,在转换过程中肯定是要进行编码的.在JSP转换为servlet过程中下面一段代码起到至关重要的作用. <%@ page language=" ...

  5. 关于Java中文乱码与日期格式

    关于Java中文乱码与日期格式 Java中文乱码的问题其实很普遍了,首先,一般不会在Windows平台下面出现,同时,一般在Tomcat应用服务器下也都正常,但是到了WebSphere,Weblogi ...

  6. java中文乱码解决之道(二)—–字符编码详解:基础知识 + ASCII + GB**

    原文出处:http://cmsblogs.com/?p=1412 在上篇博文(java中文乱码解决之道(一)—–认识字符集)中,LZ简单介绍了主流的字符编码,对各种编码都是点到为止,以下LZ将详细阐述 ...

  7. java中文乱码解决之道(一)—–认识字符集

    原文出处:http://cmsblogs.com/?p=1395 沉寂了许久(大概有三个多月了吧),LZ“按捺不住”开始写博了! java编码中的中文问题是一个老生常谈的问题了,每次遇到中文乱码LZ要 ...

  8. Java中文乱码解决方案

    Java中文乱码解决方案   1.中文乱码解决方案,确保每个文件的默认编码是UTF-8         加入 URIEncoding="UTF-8" 代码中的设置 1>在se ...

  9. java中文乱码解决之道(七)—–JSP页面编码过程

    我们知道JSP页面是需要转换为servlet的,在转换过程中肯定是要进行编码的.在JSP转换为servlet过程中下面一段代码起到至关重要的作用. <%@ page language=" ...

  10. Java 中文乱码问题总结

    开发java应用出现乱码是很常见的,毕竟现在unicode的使用还不是很广泛,在使用gb2312(包含了gbk简体,big5繁体)的系统中要正确 实现中文的display和数据库的存储是最基本的要求. ...

随机推荐

  1. ASP.NET页面上传文件时提示文件大小超过请求解决方法

    在webconfig中节点 <system.web> </system.web> 下加入以下代码:maxRequestLength为限制上传文件大小,executionTime ...

  2. MSSQL数库备份与还原脚本(多个库时很方便)

    每次通过 Management Studio 的界面操作备份或还原数据库,对于单个数据库还好,要是一次要做多个.那就还是用脚本快些,下面有两段脚本分享一下. ===================== ...

  3. Css 使div标签下沉到页面最低部

    .footer{ position:fixed; bottom:0; } 使用这两个标签就能达到效果

  4. spring aop简单日志实例

    转载自:http://www.blogjava.net/laoding/articles/242611.html 一直就用spring的IOC,遗憾spring的另一重要组成部分AOP却没用过,所以近 ...

  5. [Java]HashMap的两种排序方式

    先将 Map 中的 key 和 value 全部取出来封装成 JavaBea 数组,再将这个数组排序,排序完成后,重新写回 Map 中,写回时采用 LinkedHashMap 可以保证迭代的顺序. 下 ...

  6. sizeof()的用法

    机器平台:X86_64 处理器 操作系统:Red Hat 4.1.2-14 编译器: gcc version 4.1.2 20070626 Size of char is:               ...

  7. XLSReadWrite控件简介

    2015-10-22  23:57:55 原帖地址:http://www.cnblogs.com/dabiao/archive/2011/07/08/2100609.html XLSReadWrite ...

  8. TJU 2944 Mussy Paper 最大权闭合子图

    传送门 给你一些东西,  每个东西有一个值,有正有负. 在给一些关系, 选了其中一个物品, 和他有关系的也必须全都选上, 关系是单向的. 问最后的最大价值是多少, 如果小于0输出“   **** ”( ...

  9. 【LeetCode题意分析&解答】41. First Missing Positive

    Given an unsorted integer array, find the first missing positive integer. For example,Given [1,2,0]  ...

  10. Java I/O theory in system level

    参考文章: JAVA NIO之浅谈内存映射文件原理与DirectMemory Java NIO 2.0 : Memory-Mapped Files | MappedByteBuffer Tutoria ...