- 浏览: 126512 次
- 来自: ...
最近访客 更多访客>>
文章分类
最新评论
-
dwangel:
给messageSource设置属性
<property ...
Spring i18n的better practice(相对于appfuse) -
dwangel:
spring 的message tag有一个属性text,可以 ...
Spring i18n的better practice(相对于appfuse) -
sn201:
awk高级篇
有问题啊!有问题!有问题!有问题!有问题!
i ...
awk文本处理总结(入门,中级,高级) -
happy_javaboy:
...
Log4j日志管理系统简单使用说明
一、Java中文问题的由来
Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦。原因主要有两方面,Java和JSP文件本身编译时产生的乱码问题和Java程序于其他媒介交互产生的乱码问题。
首先Java(包括JSP)源文件中很可能包含有中文,而Java和JSP源文件的保存方式是基于字节流的,如果Java和JSP编译成class文件过程中,使用的编码方式与源文件的编码不一致,就会出现乱码。基于这种乱码,建议在Java文件中尽量不要写中文(注释部分不参与编译,写中文没关系),如果必须写的话,尽量手动带参数-ecoding GBK或-ecoding gb2312编译;对于JSP,在文件头加上<%@ page contentType="text/html;charset=GBK"%>或<%@ page contentType="text/html;charset=gb2312"%>基本上就能解决这类乱码问题。
本文要重点讨论的是第二类乱码,即Java程序与其他存储媒介交互时产生的乱码。很多存储媒介,如数据库,文件,流等的存储方式都是基于字节流的,Java程序与这些媒介交互时就会发生字符(char)与字节(byte)之间的转换,例如从页面提交表单中提交的数据在Java程序里显示乱码等情况。
如果在以上转换过程中使用的编码方式与字节原有的编码不一致,很可能就会出现乱码。
二、解决方法
对于流行的Tomcat来说,有以下两种解决方法:
1) 更改 D:\Tomcat\conf\server.xml,指定浏览器的编码格式为“简体中文”:
方法是找到 server.xml 中的
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='GBK' />
标记,粗体字是我添加的。
可以这样验证你的更改是否成功:在更改前,在你出现乱码的页面的IE浏览器,点击菜单“查看|编码”,会发现“西欧(ISO)”处于选中状态。而更改后,点击菜单“查看|编码”,会发现“简体中文(GB2312)”处于选中状态。
b)更该 Java 程序,我的程序是这样的:
public class ThreeParams extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html; charset=GBK");
...
}
}
粗体字是必需要有的,它的作用是让浏览器把Unicode字符转换为GBK字符。这样页面的内容和浏览器的显示模式都设成了GBK,就不会乱码了。
发表评论
-
浅析Java语言中两种异常的差别
2006-08-24 21:08 605Java提供了两类主要 ... -
JavaMail API详解
2006-09-04 17:12 584摘要:JavaMail API是读 ... -
JAVA操作Excel电子表格
2006-09-09 11:44 749只要有表格,就会有Microsoft Excel,用Micr ... -
让POI架起Java与Office之间的桥梁
2006-09-09 11:45 653本文将阐述如何用POI来 ... -
文件和目录操作的常用方法
2006-09-14 16:21 791package com.xgll.util; ... -
Java中正则表达式使用方法详解
2006-09-19 19:31 799如果你曾经用过Perl或任 ... -
在项目中,用到的关于时间操作的一些常用方法!!
2006-09-19 19:32 718package com.hoten.util; impor ... -
db4o 连接池
2006-09-28 17:19 737这几天花了点时间弄了个 db4o 连接池,比较简单,连接池原型 ... -
java的md5加密类
2006-09-29 11:35 677MD5算法是将数据进行不可逆加密的算法有较好的安全性,在国内如 ... -
代码动态生成利器ASM
2006-11-04 11:05 908作者:薛谷雨 作 ... -
native2ascii用法
2006-11-21 14:54 679中文资源转换成utf-8编码 native2ascii -en ... -
编写安全的Java代码
2006-12-29 20:47 640作者:Radic 来 ... -
常用 java File 操作类
2007-06-14 16:52 719业务常用,供大家学习: ... -
JAVA之精髓IO流
2007-06-20 21:49 468一. Input和Output 1. stream ... -
【此帖已结】常用数据库JDBC连接写法(整理)
2007-09-14 09:07 675为了方便大家查找,整 ... -
util包中Calendar和Properties用法:
2007-09-14 09:43 477import java.util.Calendar;impor ... -
JSP动作
2007-10-19 12:57 693JSP动作利用XML语法格式的标记来控制Servlet引擎的行 ... -
GBK和UTF-8的区别
2007-11-21 17:35 662GBK的文字编码是双字节来表示的,即不论中、英文字符均使用双字 ... -
Java多线程编程详解
2008-06-07 13:42 693一:理解多线程 多线程是这样一种机制,它允许在程序中并发执行 ... -
判定文件编码或文本流编码的方法
2008-06-16 14:44 875在程序中,文本文件经常用来存储标准的ASCII码文本,比 ...
相关推荐
总结来说,解决Tomcat下的中文乱码问题,关键在于确保JSP页面的编码与服务器设置一致,并在处理表单提交时正确设置请求的字符编码。在实际开发中,推荐使用UTF-8作为统一的编码标准,因为UTF-8能够兼容各种语言,...
总之,解决Java中的URL中文乱码问题需要理解URL编码的原理,并在客户端和服务器端采取相应的措施,确保编码和解码的一致性。无论是通过JavaScript编码、Java服务器端解码,还是调整服务器配置,关键在于确保字符集的...
### javaweb servlet(jsp)的乱码问题原理及解决 #### HTTP协议的基本理解与乱码问题背景 HTTP协议作为互联网应用中最为广泛使用的通信协议之一,它定义了客户端和服务端之间的交互规则。HTTP请求主要分为GET和...
在Android客户端向服务器提交请求时,遇到中文乱码问题是一个常见的困扰。...在本例中,使用`URLEncoder`和`URLDecoder`进行编码和解码,有效地解决了Android客户端与Tomcat服务器之间的中文乱码问题。
在JavaWeb开发中,中文乱码问题是一个...总之,解决JavaWeb开发中的中文乱码问题,关键在于理解和掌握字符编码,以及熟练使用过滤器技术。通过以上方法,开发者可以有效地防止和解决乱码问题,提高应用程序的用户体验。
总结来说,解决J2EE应用中文乱码问题的关键在于理解字符集的原理,并在每个可能引起乱码的环节进行相应的编码设置。通过统一编码标准,尤其是使用广泛支持的UTF-8,可以显著减少乱码出现的可能性。在开发过程中,...
在开发Web应用时,尤其是使用Java的JSP技术,开发者经常会遇到中文乱码的问题。这是因为字符编码不一致导致的,特别是在处理用户输入或从数据库获取数据时。...同时,理解字符编码原理,有助于更好地排查和解决问题。
本文将深入探讨"myeclipse中文乱码的解决方法",帮助你解决在使用MyEclipse过程中遇到的中文显示异常问题。 1. **问题背景** 当你在MyEclipse中创建或打开包含中文字符的文件时,可能会发现显示为乱码,这通常是...
学习 Java 中文编码的原理,可以更好地理解中文乱码问题的成因和解决方法。 中文乱码问题是 Java Web 技术开发中一个常见的问题,但通过配置 Tomcat 的编码方式、在 Java 代码中指定编码方式、使用 Unicode 字符等...
### Struts2中文乱码问题解决方案 在使用Struts2框架进行Web开发的过程中,中文乱码问题是一个常见的挑战。这不仅影响用户体验,还可能导致数据不一致等问题。为了解决这一问题,我们需要理解其背后的原理,并采取...
总的来说,解决JSP中文乱码问题的关键在于理解字符编码的工作原理,以及在各个层面上(浏览器、服务器、数据库)如何设置和转换编码。通过正确设置和处理,可以确保中文字符在Web应用中的正确显示和处理。
通过这些步骤,你应该能够成功地解决Tomcat中的中文乱码问题,以及Myeclipse中光标跳动的困扰。在实际开发过程中,遇到此类问题时,理解其背后原理并针对性地调整配置是解决问题的关键。希望这些信息对你有所帮助,...
总结来说,解决HTML超链接中文乱码的关键在于使用`URLEncoder.encode()`方法时指定正确的字符集,并在前端和后端保持一致。此外,理解URL编码的原理以及HTTP协议对URL的限制也是非常重要的,这样才能确保数据在传输...
为了解决中文乱码问题,我们需要了解字符编码的基本概念和原理。 二、字符编码的基本概念 字符编码是将字符转换为二进制数据的过程。常见的字符编码有UTF-8、GBK、ISO-8859-1等。UTF-8是一种变长编码,它可以表示...
### Java的中文乱码及部分解决方法 #### 引言 在Java开发过程中,中文乱码问题一直是开发者面临的一个挑战。这是因为Java内部采用Unicode编码,而操作系统、浏览器以及各种外部资源可能采用不同的编码格式(如GBK...
总的来说,解决Java项目中的中文乱码问题需要理解编码与解码的基本原理,合理地设置字符编码,并在必要时进行手动转换。在开发过程中,应尽量保持统一的编码标准,避免在不同环节出现不一致导致的乱码问题。此外,...
根据给定的信息,本文将详细解释四种常见的网页乱码解决方案,并着重分析其原理与实践方法。这四个场景分别是:JSP页面显示乱码、表单提交中文时出现乱码、数据库连接出现乱码以及数据库显示乱码的问题。这些解决...
在开发Java Web应用程序时,尤其是使用JSP技术时,经常遇到的一个问题是中文字符在传递过程中出现乱码。这个问题主要是由于字符编码不一致导致的。...总之,理解和掌握字符编码原理,保持一致性是解决乱码问题的关键。
Java Web开发中的中文乱码问题是一个常见的困扰,尤其是在处理用户输入和数据显示时。问题的核心在于不同组件和环境之间编码方式的不一致。本文将深入探讨Java Web的编码机制,JSP运行原理,以及如何解决常见的乱码...
在实际应用中,我们常常会遇到Ajax与服务器交互时出现中文乱码的问题,尤其是在发送和接收中文数据时。这个问题主要涉及到字符编码的处理,解决起来需要对HTTP协议、字符编码原理以及Struts框架的工作机制有一定的...