•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. mvc下载文件

    MVC下载文件方式 方式一: public FileStreamResult DownFile(string filePath, string fileName)  {       string ab ...

  2. SQL Server索引进阶:第十五级,索引的最佳实践

    在本文中我们将推荐14条贯穿本系列的规则,这些规则帮助你为数据库创建最好的索引结构. 格式来自于<Framework Design Guidelines>.每条推荐用四个词来总结:Do做, ...

  3. 性能优化工具---sar

    简介: System Activity Reporter系统活动情况报告 下载地址: http://pagesperso-orange.fr/sebastien.godard/download.htm ...

  4. C#Excel导出导入

    using System; using System.Collections.Generic; using NPOI; using NPOI.HPSF; using NPOI.HSSF; using ...

  5. 全面修复IE,注册IE所有dll

    全面修复IE,注册IE所有dll 复制,粘贴到文本文档里,保存成.bat文件,双击运行. rundll32.exe advpack.dll /DelNodeRunDLL32 %systemroot%\ ...

  6. ubuntu菜单面板丢了怎么找回

    我的ubuntu菜单面板丢了.   我的ubuntu用的是gnome桌面环境,桌面环境分为三个区域: 1.菜单面板 (1)三个主菜单:应用程序,位置,系统. (2)快速启动区:菜单面板中间的部分称为快 ...

  7. STL模板_容器概念

    一.STL(Standard Template Library,标准模板库)概述1.容器:基于泛型的数据结构.2.算法:基于泛型的常用算法.3.迭代器:以泛型的方式访问容器中的元素,是泛型的算法可以应 ...

  8. mlpack:可伸缩C++机器学习库(转)

    摘要:mlpack是一个可伸缩C++机器学习库,它的目的是让新用户通过简单.一致的API使用机器学习,同时为专业用户提供C++的高性能和最大灵活性. mlpack是一个直观.快速.可伸缩的C++机器学 ...

  9. VC++学习之进程和线程的区别

    VC++学习之进程和线程的区别 一.进程        进程是表示资源分配的基本单位,又是调度运行的基本单位.例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格.内存空间.磁盘 ...

  10. Android 中Java和JavaScript交互入门

    如何实现JavaScript 和java 交互 实现Java和js交互十分便捷.通常只需要以下几步. WebView开启JavaScript脚本执行 WebView设置供JavaScript调用的交互 ...