关于使用Markdown解析器Parsedown应该注意的编码...

528 阅读1分钟

使用 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。
改完之后赶紧测试,发现上面的问题不再出现了。
大功告成!!