站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题为什么编码变成西欧(ISO)了?

为什么编码变成西欧(ISO)了?

摘要: 为什么编码变成西欧(ISO)了?


一段程序在我本机运行没问题(windows),换到另一台机器上(也是windows)调试运行后,访问编码编码变成西欧(ISO)了,是不是tomcat里面要设置什么?还是jdk的问题?


请google tomcat 中文问题


ISO 是一种国际认证的编码方式 比如 ("iso-8859-1")


我在IE里将西欧改回简体中文后就好了,但是每次访问页面的编码都是西欧的,该怎么解决呢?


jsp页面中加入
<%@ page language="java" contentType="text/html; charset=GB2312" pageEncoding="GB2312"%>


应该可以


to:medusa_apple(杜杜)

我加上你说的那段代码后默认编码虽然变回了简体中文,但是页面上还是乱码。


<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%>


to:geleisi(努力..) 页面是乱码有很多种原因的,因为tomcat内部默认的编码是“iso-8859-1”,而可能我们在jsp页面或者servlet中需要显示的字符串是“GBK”或者是“GB2312”编码的。因此有可能一部分是乱码而另一部分却又是正确的。而如果换一种编码,比如utf-8的,可能有些字符串能够在正常显示,而另一部分(比如说从页面提交的数据处理后在返回显示)就又是乱码了。
你可以使用过滤器来解决这个问题。
在tomcat的安装路径/webapps/servlets-examples/WEB-INF/classes/filters/,这个目录下有一个SetCharacterEncodingFilter.java文件,把它引入你的项目,然后修改Web.xml文件,添加下面的内容:

Set Character Encoding
filters.SetCharacterEncodingFilter

encoding
GB2312



Set Character Encoding
/*

注意上面的代码有一个GB2312的地方,这个就是设置编码位置的地方,你可以使用其他的编码比如utf-8或者gbk,不过注意的是,这个地方的编码要和jsp和servlet中的设置一样。否则还是乱码。另外SetCharacterEncodingFilter.java默认是在filters包中的,如果你改变它包的属性,在上面的配置文件中也要改filters.SetCharacterEncodingFilter。这种方法虽然繁琐一点,不过很有效。比起在jsp中对单个字符串调用编码转化的方法要有效的多。


↑返回目录
前一篇: 请教:当机是什么意思啊?它的准确概念是什么?
后一篇: 请教一个java.exe的问题