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