当前位置:Gxlcms > mysql > 中文乱码问题几则

中文乱码问题几则

时间:2021-07-01 10:21:17 帮助过:38人阅读

以下是几则和中文乱码有关的问题和解决方案,包括:Windows下matplotlib中文乱码、SecureCRT终端中的VI中文乱码、crontab发送邮件中文乱码、MySQL中文乱码问题等。 1.解决Windows下matplotlib中文乱码问题 (updated @ 2013-05-31) 详见之前发的《解决matplot

以下是几则和中文乱码有关的问题和解决方案,包括:Windows下matplotlib中文乱码、SecureCRT终端中的VI中文乱码、crontab发送邮件中文乱码、MySQL中文乱码问题等。

1.解决Windows下matplotlib中文乱码问题

(updated @ 2013-05-31)

详见之前发的《解决matplotlib中文乱码问题(Windows)》一帖。

2.解决SecureCRT终端中的VI中文乱码问题

(updated @ 2013-12-11)

首先,设置SecureCRT的字符集为UTF-8,具体为:Session Options:Appearance:Character为UTF-8。

然后,在~/.bash_profile文件末尾添加:

export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"

在~/.vimrc中添加:

"中文乱码问题
set termencoding=utf-8
set fileencodings=utf-8,gb18030,utf-16,big5

最后,必须打开新的终端进行测试(否则得到的结果并不一定正确)。

在VI的配置中,termencoding是指VI所工作的终端的字符编码方式;而fileencodings是指当前编辑的文件的字符编码方式列表,VI会自动检测这个列表,并将最终检测到的字符编码方式设置给fileencoding。

3.解决crontab邮件中文乱码问题(CentOS)

(updated @ 2013-12-11)

网上看到的文章中方法一般都是添加LANG=zh_CN.UTF-8,但是发现我这样设置后依然不可以。此外,发现原始邮件内容显示正确,但是编码错误(为ANSI_X3.4-1968)。因此,对于这种情况的修改方法是:在crontab –e后,添加一行:

CONTENT_TYPE=text/plain; charset=UTF-8

4.解决MySQL中文乱码问题(Ubuntu)

(updated @ 2014-02-26)

首先,进入MySQL,查看字符集问题所在:

show variables like '%chara%';

如果看到字符集非utf8(除character_set_filesystem外),而是latin1等,则说明需要修改字符集。

编辑/etc/mysql/my.cnf,在[client]和[mysqld]下添加default-character-set = utf8。在[client]下添加default-character-set=utf8,在[mysqld]下添加character-set-server=utf8。

重启MySQL(/etc/init.d/mysql restart),重新进入并查看字符集是否已修复。

人气教程排行