3

我有一个简单的 Web 应用程序,它由 Servlet 和 JSP 组成。在一个 JSP 中,输入数据以发送到 Servlet,Servlet 与后端交互以将数据保存在 DB (MySQL) 中。

我的问题是数据是阿拉伯语,因此我使用 UTF-8 编码设置页面指令,并添加了一个过滤器以将请求和响应编码设置为 utf-8,但我仍然从 JSP 到 Servlet 获取垃圾数据。

请注意,我使用的是 Apache Tomcat Server v6.0,您知道我的问题在哪里吗?

4

3 回答 3

3

默认情况下,TomcatISO-8859-1在解码从浏览器接收到的 URL 时使用字符编码。您必须确保您的 tomcat 的 server.xml 文件连接器元素具有 URIEncoding 属性,其值为UTF-8

<Connector port="8080" 
           protocol="HTTP/1.1"
           connectionTimeout="20000"
           URIEncoding="UTF-8"
           redirectPort="8443"/>

这里查看更多信息。

于 2012-10-01T12:59:50.863 回答
0

确保将文本作为 unicode 而不是字符串保存到数据库中。然后在显示时将其编码为 utf-8。

于 2012-10-16T19:06:40.310 回答
0

1- 转到:程序->neatbans->neatbeans.config,然后在其中添加以下行:
netbeans_default_options=" .... -J-Dfile.encoding=UTF-8"

2- 转到服务器控制台 (glassfish) -> 配置 -> 服务器配置 -> JVM 选项 -> 添加 Jvm 选项,然后添加: -Dfile.encoding=UTF-8 and save

3-将数据集的主机更改为:
<property name="URL" value="jdbc:mysql://localhost:3306/chokrbd?characterEncoding=UTF-8"/>

此博客中的更多详细信息 https://android-dev-go.blogspot.com/

于 2018-01-07T16:21:14.163 回答