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

2024年11月16日 20:38
有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 字符集进行编码