2

我在 Eclipse 中有一个 git repo 项目,我一直在使用 doxygen (v1.8.4) 进行记录。如果我运行 latex make ion 一个新的项目克隆,它运行良好并制作 PDF。但是,如果我然后运行一个 doxy 构建,它可以完成,然后尝试运行 latex make,它会失败

! Package inputenc Error: Keyboard character used is undefined 
(inputenc)                in inputencoding `utf8'. 

See the inputenc package documentation for explanation. 
Type  H <return>  for immediate help. 
 ... 

DOXYFILE_ENCODING我已经尝试通过设置为而不改变结果来切换 doxyfile 的编码ISO-8859-1......我该如何解决这个问题?谢谢。

编辑:据我所知,我在文件中没有使用非 UTF-8 字符,错误之前引用的文件非常短,并且绝对没有非 UTF-8 字符。我什至尝试清除我的乳胶输出目录并从头开始构建但没有运气......

编辑:我意识到 doxy 构建似乎只能正确运行。它没有显示任何错误,但它应该例如运行 DOT 并构建大约 10 个图表。控制台输出显示运行点,但它并没有像实际生成图形时那样生成图形 (n/x)...

4

2 回答 2

3

简短的回答:所以通过一个缓慢的消除过程,我发现这是由文件中的一个撇号引起的,该文件似乎已经构建并且没有错误!

长答案:首先,我使用项目属性将编码从默认的 Cp1252 翻转为 UTF-8。然后我开始一个接一个地删除文件,直到每次删除后重建和重新制作,直到制作成功运行。我重新添加了所有文件,但删除了最近删除的文件中的内容并测试了 make - 以确认是这个文件并且只有这个文件导致了问题。制造运行良好。所以我将内容粘贴回空文件中,并开始删除文件中越来越小的部分,每次都重新重建和重新制作,直到我得到一个没有撇号的好制作和一个坏的制作......我只是重新输入撇号(因为这会迫使它成为 UTF-8 字符)并成功!这么烦人的bug!

于 2014-02-11T16:42:55.183 回答
0

伙计,你做的很难。为什么不使用 python 为您完成工作:

f = open(fn,"rb")
data = f.read()
f.close()
for i in range(len(data)):
    ch = data[i]
    if(ch > 0x7F): # non ASCII character
        print("char: %c, idx: %d, file: %s"%(ch,i,fn))
        str2 = str(data[i-30:i+30])#.decode("utf-8")
        print("txt: %s" % (str2))
于 2016-06-27T18:45:07.733 回答