•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. SQL学习之去重复查询

    下面是一张表的数据

  2. 浅谈Spring(一)

    一.Spring引言 Spring是一款轻量级框架,代码入侵量很小,并且还是众多优秀的设计模式的组合(工厂.代理.模板.策略). 特点: 1.方便解耦,简化开发 通过Spring提供的IoC容器,我们 ...

  3. Servlet基础知识(四)——Servlet过滤器Filter

    一.什么是过滤器: 政府大楼的安检保安,它既能对进入政府大楼的人员进行检查,只允许检查符合要求的进入:同时他也负责对出大楼的人进行检查,看他带出的东西是否符合要求. 同样的,Servlet中的过滤器既 ...

  4. javaTemplates-学习笔记一

    第一步,下载Java运行环境-JDK JDK -'1.8.0_25'[附链接地址] 安装JDK配置环境 安装好jdk,然后配置环境变量.不同系统配置环境变量百度Google之,附上WIN8配置方法[J ...

  5. zoj 3171 The Hidden 7's

    这道题,我在网上看到两种dp,不过基本原理是一样的,不过感觉还是后面的一种比较巧妙!因为我对动态不是很熟,自能加上一些自己的理解,写上注释. 1) #include <stdio.h> # ...

  6. 配置Raspbian 启用SPI I2C

    sudo vi /etc/modprobe.d/raspi-blacklist.conf 找到这两行 blacklist spi-bcm2708 blacklist i2c-bcm2708 注释掉 # ...

  7. java 构造方法 constructor demo笔记

    demo 地址 http://pan.baidu.com/s/1bo2FG1T package com.ws.study; /** * @author Administrator * */ publi ...

  8. 转: html5 history api详解~很好的文章

    从Ajax翻页的问题说起 请想象你正在看一个视频下面的评论,在翻到十几页的时候,你发现一个写得稍长,但非常有趣的评论.正当你想要停下滚轮细看的时候,手残按到了F5.然后,页面刷新了,评论又回到了第一页 ...

  9. HDU 3507 Print Article(CDQ分治+分治DP)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=3507 [题目大意] 将长度为n的数列分段,最小化每段和的平方和. [题解] 根据题目很容易得到dp ...

  10. 1396 - Most Distant Point from the Sea

    点击打开链接 题意: 按顺序给出一小岛(多边形)的点 求岛上某点离海最远的距离 解法: 不断的收缩多边形(求半平面交) 直到无限小 二分收缩的距离即可 如图 //大白p263 #include < ...