
我在 Windows 7 64 位元上使用 JabRef。 .bib 檔案的選項設定為 UTF8。當我使用DOI 到 BibTeXJabref 中的功能並導入任何導致其屬性中包含特殊字元的來源的 DOI,例如這個...
10.1007/978-3-540-92788-4_1
視窗
……我在 Windows(版本 2.9)上得到這個結果:
……與 Windows 上的 2.10 beta3 相同:
... doi 的 2.10 最終版本也是如此10.1051/jp2:1995145
:
以下是在 Notepad++ 中開啟的儲存檔案的螢幕截圖:
Linux
它在 Linux 上運行(Xubuntu 13.10,版本 2.10 beta):
選項
以下是我的選項,對於兩個安裝來說都是相同的(將選項檔案匯入到另一個安裝):
不過,我想保留 utf-8 編碼的文件,並盡量不要修改有錯誤的條目。有沒有辦法讓 .bib 檔案採用 utf-8 格式,同時仍使用 DOI 到 BibTeX 功能?這有點奇怪,JabRef 可以加載已經以 utf-8 編碼的 .bib 文件,但是當我添加一些內容時,它會產生錯誤的部分。
問題是,無論我在 Windows 還是 Linux 上打開 JabRef 保存的 .bib 文件,Notepad++ 都會說(在右下角)它已被編碼Ansi 為 UTF-8所以如果沒有任何程式設計問題,我很困惑到底是什麼導致了這種情況。
答案1
自從賈布雷夫依賴標準 Java 的 Preferences API,它假設導入的內容的編碼與主機作業系統的編碼相同。因此,我們迫切需要一個額外的選項來指定 Windows 上的編碼。暫定解決方案明確呼叫 Jabref 的罐子和設定編碼從命令行為
java -Dfile.encoding="UTF-8" JabRef-2.10.jar
為了java
工作,你可能必須設定PATH
變數。