Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Unicode替换字符_Java_Unicode - Fatal编程技术网

Java Unicode替换字符

Java Unicode替换字符,java,unicode,Java,Unicode,当UTF-8编码失败时,如何避免扩展ASCII字符的unicode替换字符 有没有办法通过避免Java中的unicode编码来保留扩展ASCII字符?UTF-8中的unicode数据编码不能失败。所有Unicode字符都可以用UTF-8编码,因此不会出现故障情况(除了内存不足或类似情况) 如果对UTF-8进行解码,那么当输入不是真正的UTF-8时,它可能会失败。在这种情况下,尝试用UTF-8解码是错误的方法,并且没有办法“修复UTF-8”来做正确的事情:您必须选择正确的编码 您能否提供一些示例输

当UTF-8编码失败时,如何避免扩展ASCII字符的unicode替换字符


有没有办法通过避免Java中的unicode编码来保留扩展ASCII字符?

UTF-8中的unicode数据编码不能失败。所有Unicode字符都可以用UTF-8编码,因此不会出现故障情况(除了内存不足或类似情况)

如果对UTF-8进行解码,那么当输入不是真正的UTF-8时,它可能会失败。在这种情况下,尝试用UTF-8解码是错误的方法,并且没有办法“修复UTF-8”来做正确的事情:您必须选择正确的编码


您能否提供一些示例输入和代码来演示它到底是什么,您遇到了问题?

完全没有理由避免unicode编码。实际的问题来自糟糕的旧编码

将所有文件转换为UTF-8格式,并使用系统属性file.encoding设置为UTF-8启动应用程序

java -Dfile.encoding=UTF-8

如果您想要更详细的答案,请提供有关您的上下文的更多信息。

没有“扩展ASCII”这样的东西。ASCII定义字符值0-127。更好的解决方案是指定要在代码中使用的编码,而不是依赖“正确”设置的系统属性。在我们的数据库中,数据包含Ô或æ之类的字符。我们的java应用程序返回包含这些字符的XML字符串。但当应用程序被视为web服务时,Axis1.4SOAP客户端的编码失败,而xfire soap客户端的编码没有失败。对于Axis,这些字符(Ô或æ)在最终结果中显示为替换字符-\ufffd。Axis正在使用utf-8。不知道为什么会这样。我们的应用程序需要使用Axis soap客户端。非常感谢您的帮助。提前谢谢。