JAVA:文本格式

时间:2018-05-24 14:19:58

标签: java formatting

我将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。

我如何正常格式化?

3 个答案:

答案 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,并保存。