如何在servlet中处理UTF-8编码的字符串
现在已经连续搜索了四个小时,我不得不放弃,问你们。我有一个非常简单的表格,它将接受输入并采取行动,将其写入我的Oracle DB(支持UTF-8)。
<form action="test.jsp" method='GET' accept-charset="UTF-8"> <label for='NAME'>Name</label><input type="text" id="NAME" name="NAME"/>
<button type="submit">Submit</button>
</form>
我要做的就是能够接受诸如é
或的字符请
并在不更改编码的情况下存储它们的形式。
我已经尝试过(并结合使用)设置等选项
request.setCharacterEncoding("UTF-8");
或使用编码参数构建一个新的String:
new String(request.getParameter("NAME").getBytes(), "UTF-8")
但它总是在数据库中像这样结束:�?��??
(输入)
在这个问题上的任何帮助将不胜感激。
回答:
在Tomcat中server.xml
,像这样添加URIEncoding="UTF-8"
属性Connector
:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
该文档指出:
在%xx解码URL之后,这指定用于解码URI字节的字符编码。如果未指定,将使用ISO-8859-1。
一个有用的(有点相关)的SO帖子可以在这里找到。
以上是 如何在servlet中处理UTF-8编码的字符串 的全部内容, 来源链接: utcz.com/qa/419478.html