2017-04-16 31 views
1

我只是用tex4ht和htlatex將latex文檔轉換爲html,現在我有一些嚴重的麻煩來將這個html文檔集成到我正在製作的網站中(我使用的是Laravel) 。

我認爲我有一些麻煩的原因之一是htlatex輸出文件是Unix編碼的,而不是utf-8。
如果我只是使用Laravel視圖和控制器輸入文件而不做任何修改,則不會顯示utf-8字符,如果我將文件轉換爲utf-8,所有utf-8字符在記事本內變得很奇怪,我必須重寫它們一次一個(html文件包含2000多行,我不能這樣做)。

我在想我該如何解決這個問題。
「將輸入HTML放入iframe」標籤中有什麼好的解決方案?或者有沒有辦法將這個文件編碼爲utf-8而不會搞亂他的內容?我很迷茫....使用htlatex搞錯了編碼

+0

沒有「Unix編碼」這樣的東西。你可能會引用Unix行結尾,但這是一個單獨的問題(並且它在HTML文件中根本不應該是個問題)。 HTML文件是否有編碼聲明?如果是這樣,你需要找出它是否正確:在一個支持指定編碼的編輯器(也許比記事本更強大)中打開文件。 – lenz

+0

事實上,我發現記事本顯示了文件是如何編碼的,它看起來是ISO 8859-1,這就是爲什麼在UTF-8中對它進行編碼的原因。我將這些內容複製到一個utf-8新文件中,並且它的工作原理......不知道這是否是解決問題的正確方法,但...... –

回答

2

tex4ht使用Latin1作爲默認編碼,此編碼不支持的字符以XML實體的形式輸出。您可以使用下面的命令請求UTF-8輸出:

htlatex filename.tex "xhtml,charset=utf-8" " -cunihtf -utf8" 

作爲替代方案,可以使用Make4ht-u選項:

make4ht -u filename.tex 

make4ht是替代htlatex具有更多的功能。