我正在做一些pdf文本提取。我附上了我遇到问题的场景的屏幕截图。
为什么eclipse控制台无法打印“规范”这个词?
相反,它被打印为“规范”。
我可以看到字符重叠。
但是在调试代码期间,相同的文本显示为没有“问号”。
有没有办法将相同的文本打印到控制台?
请帮忙。
问题是“fi”连字(“重叠字母”),它是 Unicode 中的单个字符。在调试视图中,使用了绘制文本的 Windows 方法;这些了解 Unicode 并且可以正确呈现连字。
控制台视图使用某种编码。与 Windows 一起使用时,默认值为“cp1252”、Codepage 1252 或 ISO 8859。这些编码不知道该特定字母且无法打印,因此使用问号代替。
Window > Preferences
您通常可以通过, General > Workspace
,设置 Eclipse 的编码Text file encoding
。虽然我认为在任何地方都使用 UTF-8 是个好主意,但它可能会导致现有文件出现问题。
您可以在项目属性 category 中设置每个项目的编码Resource
。
如果您只想为控制台视图设置编码,这是最不具沉浸感的解决方案,它并不完全直观。控制台视图编码是您用于运行项目的运行时配置的属性。Run > Run Configurations...
, 你的运行配置, Common
.
当您使用其中一种方法将编码设置为 UTF-8 时,连字将正确打印到控制台视图。
当然,更通用的设置只有在没有被更具体的设置(工作区、项目、运行配置)覆盖时才有效。
我肯定在这里把所有的术语都弄错了,但 PDF 可能使用了不属于 ASCII 字符集的“fi”组合的字形。因此它在控制台中呈现为“?”。请注意,在窗口的中间部分,“fi”中的“i”比“f”后跟“i”的 ASCII 序列“f”更接近“f”,并且“i”也是错过了点。