我遇到一个错误 io.MalformedByteSequenceException: Invalid byte 2 of 2-byte UTF-8 sequence
解决方案是使用UTF-8读写文件。
我的html" target="_blank">代码是:
InputStream input = null;
OutputStream output = null;
OutputStreamWriter bufferedWriter = new OutputStreamWriter( output, "UTF8");
input = new URL(url).openStream();
output = new FileOutputStream("DirectionResponse.xml");
byte[] buffer = new byte[1024];
for (int length = 0; (length = input.read(buffer)) > 0;) {
output.write(buffer, 0, length);
}
BufferedReader br = new BufferedReader(new FileReader("DirectionResponse.xml" ));
FileWriter fstream = new FileWriter("ppre_DirectionResponse.xml");
BufferedWriter out = new BufferedWriter(fstream);
我正在读取一个URL并将其写入文件 DirectionResponse.xml中 。然后读取 DirectionResponse.xml 并编写与
ppre_DirecionResponse.xml
相同的内容进行处理。
我该如何更改以便在UTF-8中完成读写?
首先,您需要调用output.close()
(或至少output.flush()
在重新打开文件进行输入之前调用。这可能是造成问题的主要原因。
然后,您不应该使用FileReader
或FileWriter
为此,因为它总是使用平台默认编码(通常不是UTF-8)。从文档中获取FileReader
:
此类的构造函数假定默认字符编码和默认字节缓冲区大小是适当的。
使用时,您有同样的问题FileWriter
。替换为:
BufferedReader br = new BufferedReader(new FileReader("DirectionResponse.xml" ));
像这样:
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream("DirectionResponse.xml"), "UTF-8"));
和类似的fstream
。
我试图让两个连字符触发短破折号,三个连字符触发长破折号;喜欢 除了工作。以下是我的收获: 这部作品(11部产生2111部产生3部) 这是同一个脚本,但“1”已被替换为“-”,“2”已被替换为“-”,而“3”已被替换为“-“--”-“应该生成”-“和“--”应该生成”-”,但它不起作用,因为我使用的版本中不完全支持Unicode(AutoHotKey.com上的AutoHotKey_L v1.1.0
问题内容: 如何在我的API上获得UTF-8支持?此刻,一个字符串输出如下: 代替: 在以下结帐app.js: 问题答案: 连接到响应生成器或创建执行以下操作的中间件: 否则,浏览器将以他喜欢的编码显示内容。 如果这不能帮助您,则DB可能编码错误。 编辑: 由于答案将近5年,API已更改。对于当前的node.js版本,请使用:
问题内容: 我无法使用Android API示例中显示的标准InputStreamReader方法在文本文件中读取和写入扩展字符(例如,法语重音字符)。当我使用以下方法读回文件时: 读取的字符串在扩展字符处而不是在行尾处被截断。然后,字符串的后一半进入下一行。我以为我需要将数据持久化为UTF-8,但是我找不到任何示例,而且我是Java的新手。 谁能为我提供示例或相关文档的链接? 问题答案: 非常简
问题内容: 我有一个UTF-16 CSV文件,我必须阅读。Python csv模块似乎不支持UTF-16。 我正在使用python 2.7.2。我需要解析的CSV文件很大,要运行几个GB的数据。 回答以下约翰·马钦(John Machin)的问题 使用仅包含abc作为内容的test.csv输出 我认为csv文件是在美国Windows机器上创建的。我正在使用Mac OSX Lion。 如果我使用ph
我想知道如何搜索内容从图像和PDF在户外使用OCR集成请让我知道的步骤我怎么能做到这一点??使用Kofax或EpheSoft扫描软件...让我知道步骤... 我尝试了https://docs.alfresco.com/4.1/tasks/kofax-amp-install.html链接,但未能安装放大器文件。.例如:内容是从图像或pdf搜索如何可能? 请帮帮我。。 提前谢谢
问题内容: 我的数据库已正确设置为UTF-8,并且正在处理包含日语字符的数据库。如果我从mysql命令行执行SELECT * …,我会正确看到日语字符。当将数据从数据库中拉出并显示在网页上时,我可以正确地看到它。 但是,在phpMyAdmin中查看表数据时,我只会看到垃圾文本。即。 ç§ã日本料ç†ãŒå¥½ããããã㥥œœ¬æ–™ç†ã… 如何获取phpMyAdmin以日语显示字