我将txt文件作为字符串集合加载,然后将其保存在数据库HSQLDB中。当我从DB加载并打印TextArea
输出类型的文本是这样的:
Quando il flusso�maggiore nella narice di destra�la Nadi Pingala a predominare。 L' energia vitale�moltopi�attivae di conseguenza saremopi�fortifisicamente,saremopi�introversie solari。杜兰特 il sonno tende a non。
我如何正常格式化?
答案 0 :(得分:0)
尝试将输出文本格式化为UTF-8或ISO-8859-1
答案 1 :(得分:0)
原始文本文件必须是UTF-8,否则,需要在文件读取时间转换为:
new String(String_Readed_From_File.getBytes(" ISO-8859-1")," UTF-8");
如果文件的编码是ISO-8859-1,否则适应文件的编码
答案 2 :(得分:0)
根据您所说的内容,您尝试阅读文本文件,就好像它是以UTF-8编码一样,但事实并非如此。因此,您在读取文件的初始步骤失败了,之后您所做的任何事情都无法从此失败中恢复。在阅读文件后谈论该怎么做是没用的。
我们无法猜测您的初始文件的实际编码是什么。您需要将此文件放在某处供我们下载。到目前为止,您所显示的是它不是UTF-8(因为如果是,您将不会遇到所描述的问题。)
您已经说过您正在使用此代码:
new String(encoded, "UTF-8");
因为"编码"包含文件的字节,并且您的文件不是UTF-8,这条指令是错误的。你需要更换" UTF-8"无论文件的真实编码是什么。
例如它可能是:
new String(encoded, StandardCharsets.ISO_8859_1);
另一个解决方案,就是不要触摸你的Java代码并保持原样,但要假设文件是UTF-8,这是正确的。为此,你可以使用像Notepad ++那样的文本编辑器,告诉它将文件转换为UTF-8,并保存。