如何在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

回到顶部