在java开发中都能遇到java中文乱码的情况,怎样才能够恰当地选择汉字编码方式并正确地处理汉字的编码呢?希望通过下面的总结的java中文乱码解决方法对遇到过此类问题的朋友有所帮助。

首先,要想解决java中文乱码问题就有必要了解一下什么是字符,字符集,编码的概念。
      字符:是文字与符号的总称,包括文字、图形符号、数学符号等。
      字符集:就是一组抽象字符的集合。字符集常常和一种具体的语言文字对应起来,该文字中的所有字符或者大部分常用字符就构成了该文字的字符集,比如英文字符集。繁体汉字字符集、日文汉字字符集等等。
     计算机要处理各种字符,就需要将字符和二进制内码对应起来,这种对应关系就是字符编码: 制定编码首先要确定字符集,并将字符集内的字符排序,然后和二进制数字对应起来。根据字符集内字符的多少,会确定用几个字节来编码。
     每种编码都限定了一个明确的字符集合,叫做被编码过的字符集(Coded Character Set),这是字符集的另外一个含义。通常所说的字符集大多是这个含义。

其次,要想解决java中文乱码问题也得了解一下我们常用的编码方式:
     ASCII编码是目前计算机中用得最广泛的字符集及其编码。
     ISO8859-1可以表示的是西欧语言。看起来很单一为什么还在使用呢?,由于是单字节编码,和计算机最基础的表示单位一致,所以很多时候,仍旧使用ISO-8859-1编码来表示。 而且在很多协议上,默认使用该编码。
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。通常我们所遇到过多UTF-8这是Unicode编码的实现方式,请一定要加以区分。
     GB2312字集是简体字集;BIG5字集是台湾繁体字集;GBK字集是简繁字集,包括了GB字集、BIG5字集和一些符号
     GB18030是国家制定的一个强制性大字集标准,它的推出使汉字集有了一个统一的标准。
     Linux系统默认使用的是ISO-8859-1编码,Win32系统默认使用的是GB2312编码。

再是,了解乱码是怎么产生的,如何解决java中文乱码
     字符在保存时的编码格式如果和要显示的编码格式不一样的话,就会出现乱码问题。我们在做开发的时候,始终提倡开发环境编码一致。如页面编码,数据库编码等。
     Java在运行期一律以Unicode来存储字符,这样有利的支持了多语言环境。我们在开发过程中经常会用到文件读取。Java读文件的时候会用到系统默认的编码来解码文件。所以在用FileInputStream类读取文件可以指定编码读取。
     JSP页面乱码通常只要在页面开始地方用下面代码指定字符集编码即可。如果还不行,那么请用下面这句话来转换 str=new String(str.getBytes("ISO-8859-1"),"页面编码方式");
     JAVA在网络传输中使用的编码是"ISO-8859-1",故在输出时需要进行转化,如: String str=new String(str.getBytes("开发环境编码"),"ISO-8859-1");
     经过网络编码后的中文,要正确显示在页面上必须要用类似于Stirng str=new String(str.getBytes("ISO-8859-1"),"开发环境编码");这样的方式来解码

最后,为了避免不必要的java中文乱码,我们首先要从源头做起。什么意思呢?这就是说,我们在项目开发中,首先要让我们开发环境统一编码。比如我用的开发环境是Eclipse+Tomcat5.0+SQLServer 2005。Eclipse的项目属性中可以设置项目的编码,可以针对JSP页面的设置统一的编码。

转自:http://hi.baidu.com/po_soft/blog/item/cdcd0f505bdf97868c543027.html

了解更多关于编码细则:网站编码详解http://wenku.baidu.com/view/03abc400a6c30c2259019eb2.html

java中文乱码的原因及解决方法相关推荐

  1. 中文乱码的原因及解决方法

    1.我们常用的编码表: ASCLL:美国标准信息交换码 --->用一个字节的7位可以表示 ISO8859-1:拉丁码表.欧洲码表 --->用一个字节的8位来表示 GB2312:中国的中文编 ...

  2. php 日文中文乱码,phpgd库中文乱码的产生与解决方法详解 || mao的博客

    在php jpgraph安装教程之验证php环境是否支持jpgraph安装方法的php教程中我提到了gd库的验证,对于jpgraph中文使用者来说使用 jpgraph时不产生中文乱码是非常必要的,而g ...

  3. mysql保存中文乱码的原因和解决办法

    当你遇到这个mysql保存中文乱码问题的时候,期待找到mysql保存中文乱码的原因和解决办法这样一篇能解决问题的文章是多么激动人心.   也许30%的程序员会选择自己百度,结果发现网友已经贴了很多类似 ...

  4. html里显示中文乱码的原因及解决办法

    html里显示中文乱码的原因及解决办法 我试着写第一个html文件时候,发现打开保存的html文件后,中文显示的是乱码的.我知道这是字符编码的原因,发现要在开头统一规范下编码格式,通常charset的 ...

  5. java.util.ConcurrentModificationException异常原因及解决方法

    java.util.ConcurrentModificationException异常原因及解决方法 参考文章: (1)java.util.ConcurrentModificationExceptio ...

  6. mysql保存时乱码了_MySQL保存中文乱码的原因和解决办法

    (3)MySQL的字符集设置. 这个是重点了,一般都是在这里搞错而出现了mysql乱码. mysql编码设置可以分为三种设置:数据库的编码.表的编码.和字段的编码. a.数据库的编码: 在sqlyog ...

  7. android u盘盘符乱码,分享U盘中文件出现乱码的原因以及解决方法

    当使用U盘时发现U盘文件成了乱码,就算将U盘拔插了几次也无法恢复,这是怎么回事呢?U盘文件出现乱码又应该如何解决呢?接下来就为大家分享U盘中文件出现乱码的原因以及解决方法. u盘出现乱码的原因: 1. ...

  8. mybatis向mysql数据库插入数据时,中文乱码显示为?解决方法

    mybatis向mysql数据库插入数据时,中文乱码显示为?解决方法 1.先查看库.表.表字符字段的编码格式.MySQL默认的库和表的字符编码都是latin1,而我们一般需要使用 utf8 //先查看 ...

  9. xp mysql字符集与乱码_mysql字符集(GBK、GB2312、UTF8)与中文乱码的原因及解决

    Mysql乱码问题的原因与解决 MySQL对中文的支持程度还是很有限的,尤其是新手,一旦出现乱码问题,就会头大.下面介绍几种乱码问题的现象原因及解决方法,仅供参考. 乱码问题1:用PHPmyAdmin ...

最新文章

  1. 安装Android SDK需要选择哪些,开始为Android开发,我应该选择安装哪些SDK?
  2. eclipse中统计代码行数
  3. 【搜索引擎Jediael开发笔记2】使用HttpClient下载网页至本地文件
  4. 程序物语(六):探寻你的与众不同之处
  5. Sql Server 2005如何设置连接加密
  6. 「SDOI2014」数数 解题报告
  7. 使用router-view时组件之间的通信
  8. android 如何读取cgi_Python基础教程(十):CGI编程、MySQL数据库
  9. Swift使用CoreLocation,你必须要看这一篇
  10. 信息学奥赛一本通C++语言——1030: 计算球的体积
  11. java获取返回xml节点里的值,关于用java读取xml中节点的值解决方案
  12. 备考通信复试过程中的一些知识点总结梳理——信息论基础知识
  13. python货币转换代码_python将人民币转换大写的脚本代码 | 学步园
  14. python 分词及语义识别
  15. golang gzip解压
  16. python 操作ps脚本_Python实现PS图像调整颜色梯度效果示例
  17. linux PCI/PCIe驱动之pci_read_bases的理解
  18. 32位和64位系统对于程序员的影响
  19. Qmail+vpopmail+daemontools+ucspi邮件系统安装及其SMTP认证配置
  20. java中数据类型byte的底层原理透析

热门文章

  1. 我不是一个能力全面的人,领导力不是我的强项
  2. IP通讯名词解释-BLF(Busy Lamp Field)
  3. mysql病历管理_医院肛肠科病历管理及诊断系统设计与实现(SSI,MySQL)
  4. 物联网卡可以应用在哪些领域
  5. 表格的建立与单元格的合并
  6. 商品期货趋势交易策略
  7. 《神一样产品经理》电子版图书分享
  8. 微信小程序面试题(个人学习)
  9. loawan-node 的SX1276GetPaSelect
  10. 如何用Java语言打印出九九乘法表