解决perl+mysql+mongodb中文乱码问题

最近,使用perl导数据到mongodb过程中,发现存入到mongodb的中文数据乱码.

为什么要使用perl导入数据到mongodb中?
公司cms使用的mysql数据库太多多表连接并且性能越来越低,于是决定将mysql的数据冗余一份到mongodb中,以降低cms数据库的阳历. 那用什么方式导入数据到mongodb中呢?使用shell操作mongodb不方便、使用php感觉效率不是很高、最后选择了perl. 在使用perl导数据的过程中出现中文乱码, 这边简单还原一下mongodb出现中文乱码的现场.

mongodb中文乱码代码如下:

发现mongodb出现乱码
perl运行结果,mongodb里面的中文是乱码,截图如下:

mongodb

perl + mongodb中文乱码

mysql里面取出来的数据时gbk,存储到mongodb没有decode一次。修改为如下代码之后问题得到解决

mongodb无中文乱码代码如下:

 

perl运行结果如下图,以下mongodb中文不是乱码:

mongodb

perl + mongodb乱码解决

 

encode与decode用法

总结,尤其注意要插入到mongodb的数据的编码,不要再次出现这种情况.

转载请注明出处:http://www.ttlsa.com/html/2380.html