关于JSP页面乱码的问题

1. 页面显示时出现乱码

这个主要跟字符编码有关,在生成JSP页面时,可以指定编码方式以避免出现页面显示乱码。

例如:<%@ page language="java" contentType="text/html;charset=gb2312"%>

通过contentType="text/html;charset=gb2312"指定编码方式。

2. 通过GET方法或超链接进行参数传递时出现乱码

例如,在页面设置一个超链接,当跳转到下一个页面时要传递一些参数(中文)。

<a href="news.jsp?title=要传的中文参数">查看评论</a>

这个时候要不进行任何设置,在news.jsp页面中显示出来的title参数的内容可能为乱码。

现在解决方法如下:

在Tomcat安装路径下conf 文件夹里找到server.xml文件,修改里面的内容。

<Connector port="8089" maxThreads="150" minSpareThreads="25"

maxSpareThreads="75" enableLookups="false" redirectPort="8443"

acceptCount="100" debug="0" connectionTimeout="20000"

disableUploadTimeout="true" uRIEncoding="gb2312" />

相比原来的xml配置文件,多了最后一行:uRIEncoding=“gb2312”。

通过这样设置可以避免GET参数或超链接参数传递出现乱码。

3. 进行数据库操作时出现的乱码

我现在用的是SQL Server 2000 数据库。当在数据库中存储好中文数据时,在JSP中读取

数据没有出现乱码。但当在JSP页面中通过Form表单传入中文数据,再插入到SQL Server 数

据库中时就会出现乱码(在数据库中也显示为乱码)。

解决方法如下:

在Java(或JSP)中,向数据库中插入数据之前先进行编码处理。

从Form表单(或其它方式)传入的字符串: String oldStr = "一些中文数据";

编码处理:String newStr = new String( oldStr.getBytes("iso8859_1") );

这样,将处理后的字符串存入数据库就可以避免出现乱码了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值