Eclipse 控制台错误打印单词

3
我正在进行一些PDF文本提取工作。我附上了一个屏幕截图,显示了我遇到问题的情况。
在调试代码时,为什么Eclipse控制台无法打印单词“specification”?
相反,它被打印为“speci?cation”。
我可以看到字符重叠。
但是在调试代码时,同样的文本显示没有“问号”。
有没有办法将相同的文本打印到控制台上?
请帮忙解决。
2个回答

4
问题出在“fi”连字符(“重叠字母”)中,它是 Unicode 中的单个字符。在调试视图中,使用 Windows 的绘制文本方法;这些方法了解 Unicode 并可以正确呈现连字符。
控制台视图使用特定编码。在使用 Windows 时,默认值为“cp1252”,Codepage 1252 或 ISO 8859。这些编码不了解此特定字符,无法打印它,因此会使用问号作为替代符号。
您可以通过“Window > Preferences”、“General > Workspace”、“Text file encoding”来通用设置 Eclipse 的编码方式。虽然我认为在所有地方使用 UTF-8 是一个好主意,但这可能会导致现有文件出现问题。
您可以在项目属性中按类别“Resource”设置每个项目的编码方式。
如果您只想为控制台视图设置编码方式,则最不入侵的解决方案并不完全直观。控制台视图编码方式是您用于运行项目的运行时配置的属性。选择“Run > Run Configurations...”,选中您的运行配置,“Common”。
当您使用其中一种方法将编码方式设置为 UTF-8 时,连字符将正确地打印到控制台视图中。
当然,更通用的设置仅在未被更具体的设置(Workspace、Project、Run Configuration)覆盖时才会生效。

3

我在这里肯定用错了所有术语,但PDF可能使用了ASCII字符集之外的“fi”组合字形。因此,在控制台中呈现为“?”。请注意窗口中间部分,“fi”中的“i”比ASCII序列“f”后跟“i”更靠近“f”,并且“i”也缺少点。


@Jeremy 谢谢您宝贵的回答 :) :) - Nidhin Joseph

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接