如何处理java的乱码

为什么说乱码是中国程序员无法避免的话题呢?这个首先要从编码机制上说起,大家都是中文和英文的编码格式不是一样,解码也是不一样的!

如果中国的程序员不会遇到乱码,那么只有使用汉语编程。汉语编程是怎么回事,我也不大清楚。

我写这个不是讲解中英文之间的差距,解码等,我只是结合我遇到的乱码问题,然后做了一个解决乱码的总结。

1、utf8解决JSP中文乱码问题

一般说来在每个页面的开始处,加入:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

2.如果项目里面有乱码:

右击项目名—>properties->Resource->Text file encoding中点击->other选择UTF-8

3、Tomcat 5.5中文乱码

1)只要把%TOMCAT安装目录

%/   webapps\servlets-examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.class文件拷到你的webapp目录/filters下,如果没有filters目录,

就创建一个。

2)在你的web.xml里加入如下几行:

<filter>   <filter-name>Set   Character   Encoding</filter-name>   <filter-class>filters.SetCharacterEncodingFilter</filter-class>   <init-param>   <param-name>encoding</param-name>   <param-value>GBK</param-value>   </init-param>   </filter>   <filter-mapping>   <filter-name>Set   Character   Encoding</filter-name>   <url-pattern>/*</url-pattern>   </filter-mapping>

4、get方式的解决办法

打开tomcat的server.xml文件,找到区块,加入如下一行:

  URIEncoding=”GBK”

完整的应如下:

<connector  <br="">port="80"   maxThreads="150"   minSpareThreads="25"  maxSpareThreads="75"  enableLookups="false" redirectPort="8443"   acceptCount="100" debug="0"  connectionTimeout="20000"     disableUploadTimeout="true"   URIEncoding="GBK"   />

5.jar包中有乱码

1)在eclipse菜单栏中,Window–>Preferences–>General–>Content types将JAR Content , Java Class File 的Default encoding都设置为你要的编码

2)光设置上面的还不行,还需要再设置Workspace的编码。Window–>Preferences–>General–>Workspace,将Text file encoding的默认编码也设置为

和上面一致的编码。

3)保存,重启Eclipse即可发现乱码问题解决了。

 6.html5 utf-8中文乱码的解决方法

HTML5 UTF-8出现中文乱码的情况,应该有很多的朋友都有遇到吧,用记事本写,保存后在网页上运行出现了乱码,换成GB2312能正确显示中文,

下面就为大家探讨下具体的解决方法

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>HTML5的标题</title> 
</head> 
<body> 
<p>HTML5的内容!Hello</p> 
</body> 
</html>

用记事本写,保存后在网页上运行出现了乱码,换成GB2312能正确显示中文

代码没有问题,问题就出记事本身上。 <meta charste="utf-8"> 只是告诉浏览器要用utf-8来解释,而文档的编码,是在你保存时的选择决定的,

如果保存ANSI 然后用utf-8解释,肯定是乱码,记事本的话,默认保存的文件格式是ANSI,所以在保存的时候要修改为uif-8。

7.js 文件中文显示乱码

Javascript文件XX.js编辑保存时有一种编码方案(如GBK),当打开文件的时候所用的编码(如UTF-8)和保存时的编码方案不一致时,则会出现中文显示乱码。

解决方案:

(1) 用编辑器打开浏览的时候,选择和原文件编码(如GBK)一致的编码方式查看,则不会出现乱码;
(2)在eclipse中的package explorer中选中乱码的XX.js,右键菜单中选择properties,在Text file encoding中选择与XX.js编辑保存时的编码(如GBK),则可以正常显示;

8.网站页面中JavaScript中中文字段乱码

在eclipse或者编辑器中XX.js中中文显示正常,在页面调用XX.js,执行后页面结果中中文字段显示乱码。

解决方案:

在引用XX.js的页面上“显示”加上XX.js文件的编码方式,使之与XX.js文件的本身的编码方式(如GBK)保持一致。

<script type="text/javascript" language="JavaScript" src="/js/XX.js" charset=“GBK”></script>

建议:

(1)在用Eclipse或者Myeclipse新建XX.js,进行编辑时,建议先将Text file encoding改为UTF-8,然后进行编辑保存。
(2)用文本文档或者其他编辑器编辑保存XX.js, 建议以UTF-8的编码方式保存。
(3) 在引用XX.js的页面上“显示”加上XX.js文件的编码方式UTF-8。

<script type="text/javascript" language="JavaScript" src="/js/XX.js" charset=“utf-8”></script>

时间: 2024-10-21 12:37:16

如何处理java的乱码的相关文章

关于c++与java中文乱码问题分析与解决

关于c++与java中文乱码问题分析与解决 DionysosLai([email protected])  2014/8/1 问题分析: 之所以会出现中文乱码问题,归根结底在于中文的编码与英文的编码方式存在差异. 在java内部是使用16bit的unicode编码(即utf-16)来表示字符串,无论英文还是中文都是2字节. C/C++使用的是原始数据,ascii是一个字节,中文一般是GB2312编码,用2个字节表示一个汉字. Jni内部是使用utf-8编码表示字符串的,utf-8是扁长的unic

文《关于c++与java中文乱码问题分析与解决》中一个bug分析

文<关于c++与java中文乱码问题分析与解决>中一个bug分析 DionysosLai([email protected]) 2014/10/21 在前几篇一博客<关于c++与java中文乱码问题分析与解决>,地址如下:http://blog.csdn.net/dionysos_lai/article/details/38389765.文中详细介绍了c++与java数据传递时,为何会出现中文乱码的原因,并提出了适当的解决方法.方法如下: int CCDirector::GBKTo

java中文乱码解决方法汇总

publicstaticvoidmain(String[]argv){ try{ System.out.println("中文");//1 System.out.println("中文".getBytes());//2 System.out.println("中文".getBytes("GB2312″));//3 System.out.println("中文".getBytes("ISO8859_1″));

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

沉寂了许久(大概有三个多月了吧),LZ"按捺不住"开始写博了! java编码中的中文问题是一个老生常谈的问题了,每次遇到中文乱码LZ要么是按照以前的经验修改,要么则是baidu.com来解决问题.阅读许多关于中文乱码的解决办法的博文后,发现对于该问题我们都(更加包括我自己)没有一个清晰明了的认识,于是LZ想通过这系列博文(估计只有几篇)来彻底分析.解决java中文乱码问题,如有错误之处望各位同仁指出!当然,此系列博文并非LZ完全原创,都是在前辈基础上总结,归纳,如果雷同纯属借鉴-- 问

Java中文乱码处理

一.处理get方法中文乱码 方法1   String name = new String(request.getParameter("userName").getBytes("iso-8859-1")); 方法2   在tomcat的conf文件下server.xml中redirectPort="8443"位置后添加: URIencoding="GBK" 二.处理post方法中文乱码 request.setCharacte

GDAL在java中乱码问题解决方案

[前序] 首先关于GDAL源码方面,GDAL开源项目源码是使用C++语言所写,通过源码的编译可以生成支持一系列语言如c++/java/php/csharp/perl/python/ruby开发所依赖的第三方包或头文件.GDAL的同时支持不同平台下的编译生成,在Win平台下使用起来出现的问题较多,比如编译时选择不同的编译选项32位或x64位产生出不同的依赖库,还有中文路径.中文读写问题等等. 在使用GDAL在java环境下进行读写数据文件时,遇到java语言读tab数据源出现乱码问题,具体的情况描

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

我们知道JSP页面是需要转换为servlet的,在转换过程中肯定是要进行编码的.在JSP转换为servlet过程中下面一段代码起到至关重要的作用. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="GBK" %> 在上面代码中有两个地方存在编码:pageEncoding.contentType的charset.其中pageEnco

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

在上篇博文(java中文乱码解决之道(一)-----认识字符集)中,LZ简单介绍了主流的字符编码,对各种编码都是点到为止,以下LZ将详细阐述字符集.字符编码等基础知识和ASCII.GB的详情. 一.基础知识 在了解各种字符集之前我们需要了解一些最基础的知识,如:编码.字符.字符集.字符编码基础知识. 编码 计算机中存储的信息都是用二进制表示的,我们在屏幕上所看到文字.图片等都是通过二进制转换的结果.编码是信息从一种形式或格式转换为另一种形式的过程,通俗点讲就是就是将我们看到的文字.图片等信息按照

如何处理Java异常的两个例子?

下面有两个例子.一个是告诉我们调用方法也需要处理被调用者所抛出的异常:另一个是告诉我们父类可以被用来捕获或者处理异常. 1.调用方法必须处理被调用者所抛出的异常 下面是一个小小处理异常的程序.仅仅只是为了测试,如果在一个方法里抛出一个异常,不仅仅那个方法,而且调用该方法的所有方法必须声明或抛出该异常. public class exceptionTest { private static Exception exception; public static void main(String[]