我正在做一些pdf文本提取。 我附上了我遇到问题的场景截图。
为什么eclipse控制台无法打印“规范”这个词?
相反,它打印为“规范”。
我可以看到字符重叠。
但在调试代码时,显示的文本没有“问号”。
有没有办法将相同的文字打印到控制台?
请帮忙。
答案 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 > Preferences
,General > Workspace
,Text file encoding
来设置Eclipse的编码。虽然我认为在任何地方使用UTF-8都是个好主意,但可能会导致现有文件出现问题。
您可以在项目属性中设置每个项目的编码,类别Resource
。
如果您只想为控制台视图设置编码,这是最不具有沉浸感的解决方案,它并不完全直观。控制台视图编码是用于运行项目的运行时配置的属性。 Run > Run Configurations...
,您的运行配置Common
。
当您使用其中一种方法将编码设置为UTF-8时,连字将正确打印到控制台视图。
当然,更一般的设置只有在没有被更具体的设置(工作区,项目,运行配置)覆盖时才有效。