Eclipse控制台打印字错误

时间:2013-09-21 16:53:39

标签: java eclipse pdf

我正在做一些pdf文本提取。 我附上了我遇到问题的场景截图。

Value of the text while debugging the code

Screenshot - The text printed to the console

为什么eclipse控制台无法打印“规范”这个词?

相反,它打印为“规范”。

我可以看到字符重叠。

但在调试代码时,显示的文本没有“问号”。

有没有办法将相同的文字打印到控制台?

请帮忙。

2 个答案:

答案 0 :(得分:3)

我肯定会在这里得到所有的术语错误,但PDF可能正在使用字形作为“fi”组合,而不是ASCII字符集的一部分。因此它在控制台中呈现为“?”。请注意,在窗口的中间部分,“fi”中的“i”比“f”更接近“f”,如果它是ASCII序列“f”后跟“i”并且“i”也是错过了点。

答案 1 :(得分:3)

问题是“fi”连字(“重叠字母”),它是Unicode中的单个字符。在调试视图中,使用用于绘制文本的Windows方法;这些知道Unicode并且可以正确渲染连字。

控制台视图使用特定编码。与Windows一起使用时,默认为“cp1252”,代码页1252或ISO 8859.这些编码不知道此特定字母,也无法打印,因此问号用作替代。

您可以通过Window > PreferencesGeneral > WorkspaceText file encoding来设置Eclipse的编码。虽然我认为在任何地方使用UTF-8都是个好主意,但可能会导致现有文件出现问题。

您可以在项目属性中设置每个项目的编码,类别Resource

如果您只想为控制台视图设置编码,这是最不具有沉浸感的解决方案,它并不完全直观。控制台视图编码是用于运行项目的运行时配置的属性。 Run > Run Configurations...,您的运行配置Common

当您使用其中一种方法将编码设置为UTF-8时,连字将正确打印到控制台视图。

当然,更一般的设置只有在没有被更具体的设置(工作区,项目,运行配置)覆盖时才有效。