最近在用理想博客系统时,发现在对博文发表评论时,有些内容发表后被截断,经检查原来如果评论内容中存在“—”字符(GB2312的编码为:A1AA)时,后面的内容被截断。经检查,原来系统默认采用的是自己写的编码转换函数,但是该函数存在Bug,所以对“—”字符存在错误,阅读源代码后发现,通过将数据库lx_setting表中的db_charsetmod的值改为N_iconv即可(原来的值为N_charset_string)。
另外,在阅读源码时发现,该系统发表评论时是通过ajax实现的,而通过ajax的POST发送数据时,POST的数据会转换为UTF-8编码,而我在安装数据库时是使用GB2312的,所以需要进行编码转换。
阅读(972) | 评论(0) | 转发(0) |