我正在处理一个1GB的JSON文本文件,我想用Java解析它。然而,解析器抛出了一个异常,因为它遇到了字符 'ñ',导致了以下异常:
异常:无效的UTF-8起始字节0x96
我尝试使用sed和perl删除该字符,但似乎它们无法读取该字符,因此文件保持不变。我想从整个文件中删除该字符或用任何其他字符或字符串替换它,以便解析工作正常。
异常:无效的UTF-8起始字节0x96
我尝试使用sed和perl删除该字符,但似乎它们无法读取该字符,因此文件保持不变。我想从整个文件中删除该字符或用任何其他字符或字符串替换它,以便解析工作正常。
您的文件未使用UTF-8编码。
您应该查找编码并使用此编码使用InputStreamReader
读取文件。然后,如果需要,在UTF-8中保存它(例如使用OutputStreamWriter
)。
如果您不知道编码,建议您尝试几个可能的编码:请参见Charsets。
是的,它可能不是UTF-8。请参考以下信息以了解如何检查其编码:Java:如何确定流的正确字符集编码
最佳答案似乎指向InputStreamReader#getEncoding()