服务器 
首页 > 服务器 > 浏览文章

linux下因为系统编码问题造成乱码的快速解决方法

(编辑:jimmy 日期: 2024/11/16 浏览:3 次 )

最近一段时间遇到一些润乾的应用在linux系统下面乱码的问题,最后检查后都发现是客户的linux系统默认编码设置的不正确造成的,这种原因造成乱码的现象一般都是程序里面写死了的中文字符能正常展现,但是从数据库中取出来的或者从程序中读出来的中文字符就会出现乱码。

下面就介绍一下由于linux系统编码设置不正确造成润乾报表应用乱码问题的解决办法。

第一步:检查linux的系统编码。

检查linux的系统编码,确定系统是否支持中文。在linux系统的终端中输入命令:locale,就会看到打印出的系统编码信息。如果打印出来的信息如下,则说明系统的编码不支持中文:

LANG=en_US.UTF-8

LC_CTYPE=”en_US.UTF-8″

LC_NUMERIC=”en_US.UTF-8″

LC_TIME=”en_US.UTF-8″

LC_COLLATE=”en_US.UTF-8″

LC_MONETARY=”en_US.UTF-8″

LC_MESSAGES=”en_US.UTF-8″

LC_PAPER=”en_US.UTF-8″

LC_NAME=”en_US.UTF-8″

LC_ADDRESS=”en_US.UTF-8″

LC_TELEPHONE=”en_US.UTF-8″

LC_MEASUREMENT=”en_US.UTF-8″

LC_IDENTIFICATION=”en_US.UTF-8″

第二步:修改系统默认编码设置

如果发现系统编码不支持中文的话,那么就要修改系统编码,使其支持中文,这样润乾报表的中文在应用中才不会乱码。

修改系统编码的方法如下:

/etc/sysconfig/i18n

Controls the system font settings. The language variables are used in /etc/profile.d/lang.sh. An example i18n file:

LANG=”en_US.GB18030″

LANGUAGE=” en_US.GB18030: en_US.GB2312: en_US “

SUPPORTED=” en_US.GB18030: en_US:en:en_US.UTF-8:en_US:en”

SYSFONT=”lat0-sun16″

以上是系统的默认字符集是英文的如果要把字符集设置成支持中文的,可以通过设置这个文件来改变系统的默认字符集。

另外,也可在用户的环境变量或者用户的环境变量文件加入路径变量的声明:

在系统的预处理文件中声明,这样对整个系统起作用:

#vi /etc/profile

在文件尾加入

LC_ALL=”zh_CN.GBK“

export LANG=”zh_CN.GBK“

在用户的预处理文件中声明,对单独的用户起作用:

#vi /root/.bash_profile

在文件尾加入

export LC_ALL=”zh_CN.GBK“

export LANG=”zh_CN.GBK“

以上配置重新启动服务器使更改生效。

第三步:查看修改过的系统默认编码。

通过以上步骤的操作然后重启电脑,再在终端中输入命令:locale,然后就会看到系统的字符集信息变化了

这样系统编码就支持中文了,经过以上修改,由于系统默认编码不支持中文造成的乱码就可以顺利解决了。

以上就是小编为大家带来的linux下因为系统编码问题造成乱码的快速解决方法全部内容了,希望大家多多支持~

上一篇:关于Linux操作系统下终端乱码的完美解决方法
下一篇:在virtualbox中安装CentOS7图文教程
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。