1
我正在使用this method为国家创建java枚举。为不同平台编码国家名称的正确机制
这将编译在我的Windows开发框正常,但是Unix服务器上建立时,它失败,此错误:
error: unmappable character for encoding UTF8
这是由字符,例如引起的。处理这个问题的最好方法是什么?
我正在使用this method为国家创建java枚举。为不同平台编码国家名称的正确机制
这将编译在我的Windows开发框正常,但是Unix服务器上建立时,它失败,此错误:
error: unmappable character for encoding UTF8
这是由字符,例如引起的。处理这个问题的最好方法是什么?
您的源代码文件明显使用与UTF-8不同的编码,而Unix服务器上的Java编译器使用UTF-8作为默认编码。
确定Java源文件的固定编码(可能是UTF-8是最合适的),并告诉Java编译器该源代码是UTF-8编码的。如何做到这一点,取决于你使用的是哪个构建系统。
我知道每个人都不会同意,但在混合操作系统/混合IDE环境中,最适合我们的是将非常严格但非常简单的指导原则放在适当位置:*不得*将任何非ASCII字符放入* .java *源文件。这由自定义构建脚本实施:构建立即失败,违反此规则。我们这样做是因为没有描述* .java *文件编码的元数据,并且有太多可能会失败的工具(IDE,差异工具,脚本等)。人们应该使用转义或外部化字符串(属性,XML,不管)。 – TacticalCoder 2011-12-20 12:56:02