我有一个简单的 Web 应用程序,它由 Servlet 和 JSP 组成。在一个 JSP 中,输入数据以发送到 Servlet,Servlet 与后端交互以将数据保存在 DB (MySQL) 中。
我的问题是数据是阿拉伯语,因此我使用 UTF-8 编码设置页面指令,并添加了一个过滤器以将请求和响应编码设置为 utf-8,但我仍然从 JSP 到 Servlet 获取垃圾数据。
请注意,我使用的是 Apache Tomcat Server v6.0,您知道我的问题在哪里吗?
默认情况下,TomcatISO-8859-1
在解码从浏览器接收到的 URL 时使用字符编码。您必须确保您的 tomcat 的 server.xml 文件连接器元素具有 URIEncoding 属性,其值为UTF-8
:
<Connector port="8080"
protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443"/>
在这里查看更多信息。
确保将文本作为 unicode 而不是字符串保存到数据库中。然后在显示时将其编码为 utf-8。
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/