【问题标题】:Strange character conversion from HTML to JAVA [duplicate]从HTML到JAVA的奇怪字符转换[重复]
【发布时间】:2013-12-06 10:19:49
【问题描述】:

我正在通过一个表单发送一个 TEXTAREA 内的一些文本和一个 type="text" 的 INPUT。

在这些框中,当我编写例如“è”时,我的目标 Servlet 会收到“è”。

我尝试添加System.setProperty("file.encoding", "UTF-8");,但它不起作用。

我该如何解决这个问题?

【问题讨论】:

  • 目标机器在什么操作系统上运行?
  • 尝试将此属性放在表单标签中 accept-charset="ISO-8859-1"
  • 我在 Unix 和 Windows 上都运行它。同样的问题

标签: java html jsp servlets encoding


【解决方案1】:

你在服务器端的编码是Latin1/ISO-8859-1/ISO-8859-15你必须改变它。

您可以通过将以下参数添加到java 调用来做到这一点。

java -Dfile.encoding=UTF-8

(见:Setting the default Java character encoding?

对于网络服务器(如 tomcat),您必须在启动脚本中进行更改。

如果可能的话,最好将整个机器上的编码更改为UTF-8,这样你就不会遇到文件为Latin1的问题

【讨论】:

    【解决方案2】:

    根据您的服务器配置,您可能会发现它正在使用“ISO-8859-1”或在“ISO-8859-1”中工作。

    您需要确保客户端和服务器都使用相同的编码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-13
      • 2016-02-14
      • 2011-12-27
      • 2017-01-22
      • 2021-11-04
      • 1970-01-01
      • 2012-10-06
      • 2012-10-19
      相关资源
      最近更新 更多