2013-03-18 118 views
0

我有一個markdown文件(utf8),我正在變成一個html文件。我目前的設置是相當簡單的(僞代碼):如何從標記字符串中轉義特殊字符?

var file = read(site.postLocation + '/in.md', 'utf8'); 
var escaped = marked(file); 
write('out.html', escaped); 

這個偉大的工程,但是我現在已經運行到那裏都將搞的一團糟的降價文件(如é)特殊字符的問題當在瀏覽器中查看時(é))。

我發現了幾個npm模塊可以轉換html實體,但他們都轉換幾乎所有可轉換字符。包括那些降價的語法要求的(例如「#」變成了「& NUM;」「」,成爲‘&期;’和降價解析器將失敗

我已經試過庫entitiesnode-iconv

我想這是一個非常standerd問題。通過hilarudeens我怎麼只能更換所有奇怪的字母字符,沒有所有的降價所需的符號?

+0

你測試了瀏覽器是否可以正確打開文件中的字符(沒有轉義) – user568109 2013-03-18 13:19:05

+1

你有沒有在響應頭中檢查過內容類型?有些時候如果content-type是適當的,那麼你不必編碼特殊的(é)字符。還要確保html中的元標記()。爲了便於調試,只需跟蹤讀取前的各種狀態跟蹤字符的原始值,然後轉換爲html和更多。 – 2013-03-18 14:46:07

回答

0

正如指出,我忘了,包括元字符集的HTML標籤。

<meta charset="UTF-8" /> 

如果你遇到類似的問題,我建議你先檢查一下。