關於使用Markdown解析器Parsedown應該注意的編碼...

純潔的程式碼發表於2019-11-28

使用 Parsedown 來解析Markdown文字的時候,出現了一個很奇怪的問題:

新增程式碼塊的時候不允許新增 ··· ,在xml檔案裡不能新增註釋 ,否則此段程式碼塊中的內容會被吃掉
下面是一個問題文字的例子

總結一下以前自定義字型的方法

1 .**通過findViewById找到view,然後一個個的去設定字型**

```java
Typeface customFont = Typeface.createFromAsset(this.getAssets(), "fonts/customFont.ttf");
TextView view = (TextView) findViewById(R.id.text);
view.setTypeface(customFont);
···
```
於是我把出現問題的markdown文字放在了Parsedown 的線上測試中去測試,發現解析完全正常。

wtf,這可如何是好!!

只能在Parsedown專案的issue中一條條的翻,翻到了一條疑似靠譜的:github.com/erusev/pars… ,回覆中有人提到了編碼問題,大致是說這樣做就可以了

echo $url = iconv("UTF-8","ISO-8859-1//TRANSLIT//IGNORE",$texto->text($ur

恩,照著做,結果出現了亂碼。。。。
其實直覺告訴我肯定會出錯的。
但是我基本鎖定了就是編碼問題。
於是看Parsedown的原始碼,發現所有的htmlspecialchars函式都是用的utf-8編碼,而伺服器全是GBK的編碼,於是,我把所有utf-8都替換成了GB2312,注意必須是GB2312,而不是GBK。
改完之後趕緊測試,發現上面的問題不再出現了。
大功告成!!


相關文章