当UTF-8编码失败时,如何避免扩展ASCII字符的unicode替换字符?
有没有办法通过避免Java中的unicode编码来保留扩展的ASCII字符?
答案 0 :(得分:4)
编码 UTF-8 中的Unicode数据无法失败。 所有 Unicode字符都可以用UTF-8编码,因此没有失败条件(除了可能缺少内存或类似的东西)。
如果您解码 UTF-8,那么当输入不是真正的UTF-8时,它可能会失败。在这种情况下,尝试用UTF-8解码它是错误的方法,没有办法“修复UTF-8”来做正确的事情:你必须选择正确的编码。
您能否提供一些示例输入和代码来演示完全是什么,您遇到了问题?
答案 1 :(得分:-1)
完全没有理由避免使用unicode编码。实际问题来自可怜的旧编码。
转换UTF-8中的所有文件,并使用系统属性file.encoding设置为UTF-8启动应用程序。
java -Dfile.encoding=UTF-8
如果您想要更详细的答案,请提供有关您的上下文的更多信息。