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

geleisi 2006-08-29 05:46:36
一段程序在我本机运行没问题(windows),换到另一台机器上(也是windows)调试运行后,访问编码编码变成西欧(ISO)了,是不是tomcat里面要设置什么?还是jdk的问题?
...全文
503 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
medusa_apple 2006-08-31
  • 打赏
  • 举报
回复
to:geleisi(努力..) 页面是乱码有很多种原因的,因为tomcat内部默认的编码是“iso-8859-1”,而可能我们在jsp页面或者servlet中需要显示的字符串是“GBK”或者是“GB2312”编码的。因此有可能一部分是乱码而另一部分却又是正确的。而如果换一种编码,比如utf-8的,可能有些字符串能够在正常显示,而另一部分(比如说从页面提交的数据处理后在返回显示)就又是乱码了。
你可以使用过滤器来解决这个问题。
在tomcat的安装路径/webapps\servlets-examples\WEB-INF\classes\filters\,这个目录下有一个SetCharacterEncodingFilter.java文件,把它引入你的项目,然后修改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>GB2312</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
注意上面的代码有一个GB2312的地方,这个就是设置编码位置的地方,你可以使用其他的编码比如utf-8或者gbk,不过注意的是,这个地方的编码要和jsp和servlet中的设置一样。否则还是乱码。另外SetCharacterEncodingFilter.java默认是在filters包中的,如果你改变它包的属性,在上面的配置文件中也要改filters.SetCharacterEncodingFilter。这种方法虽然繁琐一点,不过很有效。比起在jsp中对单个字符串调用编码转化的方法要有效的多。
ftiger 2006-08-30
  • 打赏
  • 举报
回复
请google tomcat 中文问题
geleisi 2006-08-30
  • 打赏
  • 举报
回复
to:medusa_apple(杜杜)

我加上你说的那段代码后默认编码虽然变回了简体中文,但是页面上还是乱码。
han_li515 2006-08-30
  • 打赏
  • 举报
回复
应该可以
medusa_apple 2006-08-30
  • 打赏
  • 举报
回复
jsp页面中加入
<%@ page language="java" contentType="text/html; charset=GB2312" pageEncoding="GB2312"%>
geleisi 2006-08-30
  • 打赏
  • 举报
回复
我在IE里将西欧改回简体中文后就好了,但是每次访问页面的编码都是西欧的,该怎么解决呢?
asdex1999 2006-08-30
  • 打赏
  • 举报
回复
ISO 是一种国际认证的编码方式 比如 ("iso-8859-1")
wmsjflj 2006-08-30
  • 打赏
  • 举报
回复
<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%>
计算机概论 1、简述人工智能。 答:人工智能是研究人类智能活动的规律,构造具有一定智能的人工系统,让计算机去完成以往需要人的智力才能胜任的工作,也就是研究如何应用计算机的软硬件来模拟人类某些智能行为的基本理论、方法和技术。 2、简述虚拟内存。 答:虚拟内存英文全称Virtual Memory别称虚拟存储器。电脑中所运行的程序均需经由内存执行,若执行的程序占用内存很大或 很多,则会导致内存消耗殆尽。为解决该问题,Windows中运用了虚拟内存技术,即匀出一部分硬盘空间来充当内存使 用。当内存耗尽时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。 3、简述计算机总线工作原理。 答:总线是能按照固路线,来回不停传输运作的比特,这些线路在同一时间内都仅能负责传输一个比特。因此,必须同时采用多条线路才能传送更多数据,而总线可同时传输的数据数就称为宽度,以比特为单位,总线宽度愈大,传输性能就愈佳。总线的带宽(即单位时间内可以传输的总数据数)为:总线带宽 = 频率 x 宽度。当总线空闲且一个器件要与目的器件通信时,发起通信的器件驱动总线,发出地址和数据。其他以高阻态形式连接在总线上的器件如果收到(或能够收到)与自己相符的地址信息后,即接收总线上的数据。发送器件完成通信,将总线让出(输出变为高阻态)。 4、简述计算机编码及常用编码。 答:计算机常用编码如下: 1>Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一 2>ASCll字符集:美国信息互换标准代码,是基于罗马字母表的一套电脑编码系统,主要显示英语和一些西欧语言,是现今最通用 的单字节编码系统。 3>GB2312字符集:信息交换用汉字编码字符集。是中国标准的简体中文字符集,它所收录的汉字已经覆盖99.75%的使用频率,在 中国大陆和新加坡广泛使用。 4>GBK字符集:GB2312 字符集的扩展,它收录了 21886 个符号,它分为汉字区和图形符号区,汉字区包括 21003个字符。 GBK 字符集主要扩展了繁体中文字的支持。 7>BIG5 字符集:又称大五码,由台湾五家软件公司创立。因为当时台湾没有一个标准的字符集,而且 GB2312又没有收录繁体字, 所以才推出了 BIG5。 8>GB18030 字符集:GB18030 字符集标准解决汉字,日文假名,朝鲜语和中国少数民族文字组成 9>ISO8859-1:拉丁码表。欧洲码表。用一个字节的 8 位表示。 10>Unicode 字符集:国际标准码,融合了多种文字。 5、简述冯诺依曼计算机体系结构。 答:冯.诺依曼体系结构是现代计算机的基础,现在大多计算机仍是冯.诺依曼计算机的组织结构,根据冯·诺依曼体系结构构成的计算机,必须具有如下功能:把需要的程序和数据送至计算机中。冯·诺依曼体系结构的特点: 1>计算机处理的数据和指令一律用二进制数表示 2>顺序执行程序:计算机运行过程中,把要执行的程序和处理的数据首先存入主存储器(内存),计算机执行程序时,将 自动地并按顺序从主存储器中取出指令一条一条地执行,这一概念称作顺序执行程序。 3>计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成。 6、什么是操作系统? 答:操作系统英文全称Operating System是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作 系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等 基本事务。操作系统也提供一个让用户与系统交互的操作界面。操作系统的类型非常多样,不同机器安装的操作系统可从 简单到复杂,可从移动电话的嵌入式系统到超级计算机的大型操作系统。 7、什么是数据库管理系统? 答:数据库管理系统是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据,数据库管理员也通过数据库管理系统进行数据库的维护工作。它提供多种功能,可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。它使用户能方便地定义和操纵数据,维护数据的安全性和完整性,以及进行多用户下的并发控制和恢复数据库。 8、存储器的主要功能是什么? 答:存储器是计算机实现记忆功能的一个重要组成部分,其主要功能是用来保存计算机工作所必需的程序和数据。 9、请列出五种输入设备。 答:键盘、鼠标、扫描仪、话筒、摄像头 10、什么是补码? 答:补码是计算机中对数字的二进制表示方法。

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧