Java Web 应用程序的字符编码问题

  Java Web 应用程序经常会出现乱码的情况,这里可以通过 Servlet API 中的标准 Filter 来实现,也可以在 Web 容器配置 URIEncoding。这些都依赖于浏览器的请求方式。  

在 Web 容器的配置文件中配置 URIEncoding = "UTF-8" 使用 Servlet API 的标准 Filter 结果
地址栏中直接输入链接(含汉字) × 失败(编码成功)
地址栏中直接输入链接(含汉字) × 失败(编码成功)
地址栏中直接输入链接(含汉字) 失败(编码成功)
页面内的普通链接(a 标签,含汉字) × 编码成功,地址栏中直接显示汉字
页面内的普通链接(a 标签,含汉字) × 编码失败
页面内的普通链接(a 标签,含汉字) 编码成功,地址栏中直接显示汉字
form get 提交 × 编码成功,地址栏显示编码后的汉字
form get 提交 × 编码失败
form get 提交 编码成功,地址栏显示编码后的汉字
form post 提交 × 编码失败
form post 提交 × 编码成功
form post 提交 编码成功


    因此,通过以上表格的总结,我们可以得出这样一个结论:URLEncoding 是针对 get 请求,Filter 是针对 post 请求。

你可能感兴趣的:(Java Web 应用程序的字符编码问题)