jsp页面向servlet里传中文字符时出乱码怎么解决?

2024-11-16 20:38:30
推荐回答(2个)
回答1:

您可以参考手动转码的方法来解决乱码问题:

String s = request.getP...("xxx");
// s 是 iso 编码的乱码
s = new String(
s.getBytes("ISO-8859-1"),
"UTF-8");

SP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它[1]  是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。

JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

回答2:

服务器默认使用 ISO-8859-1 编码接受参数

服务器端
-------------------------------
1. 手动转码

String s = request.getP...("xxx");
// s 是 iso 编码的乱码
s = new String(
s.getBytes("ISO-8859-1"),
"UTF-8");

2. POST

request.setCharacterEncoding("UTF-8");

3. GET

Tomcat 设置:
server.xml 中配置:

port="8080"
maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"

URIEncoding="UTF-8"

/>
客户端脚本
---------------------------------------
encodeURL("含特殊字符的字符串")

将字符串以 UTF-8 字符集进行编码