java - Windows Server 2016 中的字符集不显示法语字符

标签 java windows tomcat encoding

我开发了一个在tomcat下运行的java web应用程序。 在我的开发服务器 (Windows 10) 上,我的浏览器接受法语字符。

但是在生产服务器(windows server 2016)上,浏览器将法语字符替换为 ?。即使从我的开发服务器访问生产 Web 应用程序,编码仍然存在问题。

您能告诉我可能是什么问题吗?

最佳答案

背景:对于法语就足够了 Windows-1252,MS Latin-1。有 ISO-8859-1,官方 Latin-1,它没有 - (oe) - 虽然它有 æ (ae)。自 HTML5 正式发布以来,浏览器会将 ISO-8859-1 解释为 Windows-1252 会增加复杂性。但是 Java 服务器仍然需要为其编写器使用 Windows-1252。请注意,有缺陷的 ISO-8859-1 是 HTTP 的默认编码。然而,由于大多数法语字符在 ISO-8859-1 中可用,所以这不应该是错误。

由于 java 在内部使用字符串 Unicode,切换到 UTF-8 似乎是最好的,它允许许多特殊符号和外国脚本。

错误一定来自默认编码,在法语 Windows 上是 Windows-1252 而在服务器上可能是任何东西。无论是文件系统还是数据库,甚至是硬编码字符串,在 JSP 中都是 (jsp) 编译器编码。 如果文本源自文件,请确保文件的编码由读者指定。正如您所发现的,默认编码适用于不可移植的文件。 不要使用无法指定编码的旧实用程序类 FileReader/FileWriter。

关于java - Windows Server 2016 中的字符集不显示法语字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53867311/

相关文章:

java - 如何使用Java从Windows Vault中检索用户名和密码?

c++ - DirectInput 未解析的外部符号

Tomcat:错误的图像

performance - Tomcat 似乎只向套接字发送 64k,然后在发送下一个 64k 数据 block 之前等待确认

java - 正则表达式匹配花式报价

java - 在 java(Eclipse) 中接收多个 JSON 对象(数组)

java - Appium 错误 : A new session could not be created.(原始错误:未从 Chromedriver 获取 session 重定向)

java - 在 JSP 上创建目录树结构

c++ - 在 PATH 中找不到 g++/gcc。 eclipse 。 Windows

java - conf/web.xml 中的 Apache tomcat <error-page> 标记未呈现错误页面