Character encoding 汉字在不同的上下文中看起来是不同的

Character encoding 汉字在不同的上下文中看起来是不同的,character-encoding,cjk,Character Encoding,Cjk,第一次注意到它是在用一个基本的java程序解析和epub时,它似乎不是由我的程序引起的,因为在同一个应用程序Calibre(电子书阅读器)中,同一个字符在电子书HTML编辑窗口和预览窗口中看起来不同:kanji在Calibre电子书编辑器中看起来不同 正确的外观是预览窗口的外观。 如果我解包epub并打开该页面的html文件,我会看到该字符,或多或少,像一个I(或I本身)。 如果我将正确的汉字粘贴到MS word或libre office,我仍然会得到类似于I的字符。将epub中使用的字体扩展到

第一次注意到它是在用一个基本的java程序解析和epub时,它似乎不是由我的程序引起的,因为在同一个应用程序Calibre(电子书阅读器)中,同一个字符在电子书HTML编辑窗口和预览窗口中看起来不同:kanji在Calibre电子书编辑器中看起来不同 正确的外观是预览窗口的外观。 如果我解包epub并打开该页面的html文件,我会看到该字符,或多或少,像一个I(或I本身)。 如果我将正确的汉字粘贴到MS word或libre office,我仍然会得到类似于I的字符。将epub中使用的字体扩展到word中,我仍然会得到类似I的字符。
有人能解释一下为什么会发生这种情况,以及如何在解压epub后的剪切粘贴或.html文件中获得正确的汉字吗?

您使用的字体是否会使字符与其他字符超载?也就是说,您的实际字符是“I”,但字体使用如下所示的字形呈现此字符喻?我不知道字体过载,但你的描述似乎是对的,这是我唯一看到字体过载的地方喻 是Calibre预览窗口,在我看到“I”的任何地方。那可能意味着你使用了一种奇怪的字体,它没有正确地将正确的字符映射到正确的字形。为了得到角色喻 在您的文档中,您应该写入字符喻 在您的源代码中,不是字符“I”。您是说字符代码和glyph之间的映射是。。。让我们说不寻常?这可能是为了保护原始电子书(即使是剪切粘贴)?我试图从一本电子书、一个java程序中提取学习信息,只是为了避免手工输入几千个CJK字符的信息。epub源于另一本受保护格式的电子书(为了完整性:我购买了纸质版和电子版,后者只是希望节省数百小时的手工输入),这基本上就是我要说的。原因可能从“拷贝保护”到空间优化再到不称职。很难知道。