在将一些波兰语(像ąćęłóżź这样的字符)插入表格时,我遇到了问题。我在表格中得到了一些奇怪的字符。在jsp
个文件中,我将页面编码设置为utf 8。
Mysql worbench character-set-server
设置为utf8
,数据库排序设置为utf8_polish_ci
。
我还将windows环境变量JAVA_TOOL_OPTIONS
设置为-Dfile.encoding=UTF8
答案 0 :(得分:1)
你并不完全描述你所看到的“陌生人”,但我认为你实际上是指Mojibake,例如ÄÄÄÅóżź
而不是ąćęłóżź
,因此不会出现???????
而不是ąćęłóżź
的问号。
您需要在{/ 1}}收集POST请求参数之前调用request.setCharacterEncoding("UTF-8")
,否则将使用服务器平台默认值来从查询字符串中解码它们,通常是ISO-8859-1而不是UTF-8。
设置请求字符编码的最佳位置是servlet filter,它映射到覆盖所有POST请求的URL模式。