现在已经连续搜索了四个小时,我不得不放弃,问你们。我有一个非常简单的表格,它将接受输入并采取行动,将其写入我的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:
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帖子可以在这里找到。