`

Linux下查看、修改字符集

 
阅读更多

一·查看字符集
字符集在系统中体现形式是一个环境变量,以CentOS6.5为例,其查看当前终端使用字符集的方式可以有以下几种方式:
 
1、[root@david ~]# echo $LANG
zh_CN.GB18030
2、[root@david ~]# env |grep LANG
LANG=zh_CN.GB18030
LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CN
3、[root@david ~]# export |grep LANG
declare -x LANG="zh_CN.GB18030"
declare -x LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
4、[root@david ~]# locale
LANG=zh_CN.GB18030
LC_CTYPE="zh_CN.GB18030"
LC_NUMERIC="zh_CN.GB18030"
LC_TIME="zh_CN.GB18030"
LC_COLLATE="zh_CN.GB18030"
LC_MONETARY="zh_CN.GB18030"
LC_MESSAGES="zh_CN.GB18030"
LC_PAPER="zh_CN.GB18030"
LC_NAME="zh_CN.GB18030"
LC_ADDRESS="zh_CN.GB18030"
LC_TELEPHONE="zh_CN.GB18030"
LC_MEASUREMENT="zh_CN.GB18030"
LC_IDENTIFICATION="zh_CN.GB18030"
LC_ALL=
上面均说明LC_CTYPE(字符辨识编码)表示这个系统的系统现在使用的字符集是zh_CN.GB18030,LC_NUMERIC(数字系统的显示讯息)等其它与语言相关的变量。通常如果其它的语言变量都未设定,仅设定LANG这个变量就可以缺省代替所有其它变量了。
 

二、修改字符集的方式
需注意的是:如果默认语言是en_US.UTF-8,在Linux的字符和图形界面下都是无法显示和输入中文的。如果默认语言是中文,比如zh_CN.GB18030 或者zh_CN.gb2312,字符界面无法显示和输入,图形界面可以。
修改的方式有如下两种:
1、直接设置变量的方式修改,命令如下两条命令:
[root@david ~]# LANG=xxx 或者  export  LANG=xxx;
[root@david ~]# LC_ALL=”xxx”  或者  export LC_ALL=”xxx”;
注:xxx为欲修改为的字符集
查看标准的字符集的方法,locale –a命令,常用的有zh_CN.GB2312、
zh_CN.GB18030或者zh_CN.UTF-8、en_US.UTF-8等
但是上述修改方式只会在当前shell中生效,新建shell此环境变量消失。
故平时登录系统执行“LANG= ”这个命令的时候显示的就没有乱码的缘故,意思就是取消了字符集的显示,取消字符集还可以执行[root@david ~]# unset LANG这个命令。
2、修改文件方式,通过修改/etc/sysconfig/i18n文件控制
[root@david ~]# vim /etc/sysconfig/i18n
LANG="zh_CN.GB18030"  即为系统的语言
SUPPORTED="zh_CN.UTF-8:zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en" 
SYSFONT="lat0-sun16"
修改文件保存退出之后要生效要执行如下命令才可生效
[test@pan ~]$ source /etc/sysconfig/i18n

我的问题:

Java文件是UTF-8编码,SSH客户端是UTF-8编码,Linux Shell是zh_CN.gbk,执行后打出来的日志是乱码,设置LANG="zh_CN.utf8",LC_ALL="zh_CN.utf8"后解决。

分享到:
评论

相关推荐

    Linux下修改oracle字符集

    在Linux环境下,修改Oracle数据库字符集是一项重要的数据库维护工作,特别是对于那些需要支持中文字符的应用来说。Oracle数据库在安装时默认采用的字符集是WE8ISO8859P1,该字符集不支持中文字符。因此,针对需要...

    linux 下oracle中文乱码字符集设置

    Linux 下 Oracle 中文乱码字符集设置 Linux 下的 Oracle 数据库在导入数据库时...Linux 下的 Oracle 数据库中出现中文乱码问题可以通过修改字符集格式来解决,将字符集格式修改成支持中文的格式可以正常显示中文字符。

    Linux下修改MySQL字符集

    Linux下修改MySQL字符集 1.查找MySQL的cnf文件的位置 find / -iname '*.cnf' -print /usr/share/mysql/my-innodb-heavy-4G.cnf /usr/share/mysql/my-large.cnf /usr/share/mysql/my-small.cnf /usr/share/mysql/...

    linux修改mysql字符集

    在 Linux 系统中,MySQL 的字符集默认为 latin1,然而在某些情况下,我们需要修改 MySQL 的字符集以确保某些迁移的程序可以正常显示。在本文中,我们将介绍如何在 Linux 下修改 MySQL 的字符集。 首先,我们需要...

    linux 修改字符集

    linux环境上运行项目,出现部分乱码,则通过修改字符集来解决

    linux 下修改字符集的问题

    当装完oracle11g由于当时装的匆忙发现数据库的编码不对,显示编码为AL32UTF,要想显示中文需要改成ZHS16GBK.

    Linux之字符集设定

    如果需要更改字符集,可以通过修改相应的环境变量来实现。例如,为了支持中文环境并解决Oracle安装过程中的乱码问题,可以将环境变量设置为: ```bash export LANG="zh_CN.GB18030" export LANGUAGE="zh_...

    linux字符集介绍写的比较详细

    - 在某些情况下,还需要修改`.i18n`文件以确保用户的环境变量符合新的字符集设置。 **2. 文件编码转换:** - 使用`iconv`命令可以方便地进行文件编码的转换。例如,将一个原本编码为`GB18030`的文件转换为`UTF-8`...

    linux修改字符集

    修改linux系统客户端、服务端字符集详细操作步骤。

    Oracle 字符集的查看和修改

    ### Oracle字符集的查看与修改详解 #### 一、Oracle字符集概述 Oracle数据库系统支持多种字符集,以便处理各种语言和地区的信息。字符集的选择对于数据的存储和处理至关重要,尤其是在全球化环境中,需要处理多种...

    linux 下 JFreeChart 乱码 JDK字符集

    在Linux环境下,使用JFreeChart库生成图表时可能会遇到中文乱码的问题,表现为显示为“口”这样的小方块。这通常与字符编码设置、JDK版本以及系统字体配置有关。下面将详细解释这个问题的原因及解决策略。 1. **...

    oracle修改字符集的方法

    4. **尝试直接更改字符集**,但可能会遇到"ORA-12712"错误,因为新的字符集不是旧字符集的超集: ```sql SQL> ALTER DATABASE CHARACTER SET ZHS16GBK; ``` 5. **跳过超集检查进行修改**,使用`INTERNAL_USE`...

    LINUX下修改ORACLE的字符集[文].pdf

    LINUX下修改ORACLE的字符集 在Linux系统下,安装的Oracle数据库默认的字符集为WE8ISO8859P1,这种字符集不支持中文,导致客户端录入的中文数据无法正确显示。在查询时,中文字符会显示为???。解决这个问题的关键是...

    linux 字符集转换脚本

    linux 字符集转换脚本,稍微修改脚本即可批量修改文件解决字符编码导致的文件乱码问题

    ORACLE数据库查看更改字符集实战.doc

    ### ORACLE数据库查看更改字符集实战 #### 一、引言 在ORACLE数据库的日常管理和维护过程中,字符集问题常常成为一个让人头疼的问题。字符集不仅关乎数据的正确存储和检索,还会影响到数据库的整体性能。当数据库的...

    CentOS7设置中文字符集1

    首先,可以使用`locale -a`命令查看系统已安装的字符集,包括中文字符集。如果没有安装,可以通过`yum`命令安装,例如`yum -y groupinstall chinese-support`或`yum -y install ibus-table-chinese-1.4.6-3.el7....

    设置mysql字符集

    字符集(Character Set)定义了数据在存储和处理时所采用的编码标准,而校对集(Collation)则规定了字符集下的排序规则和比较方式。在MySQL中,主要涉及以下几个关键变量: - `character_set_system`:系统默认...

    Linux 下修改Oracle 10G的字符集:WE8ISO8859P1 修改为 ZHS16GBK

    6. **更改字符集**: - 使用`alter database characterset INTERNAL_USE ZHS16GBK;`命令更改数据库的字符集。 7. **再次关闭并重启数据库**: - 先执行`shutdown immediate;`命令立即关闭数据库。 - 再次使用`...

    Linux系统中文乱码解决完整方案

    该问题是由于 Linux 和 Windows 系统下所用户的字符集不同,Linux 系统使用的是 Unicode 字符集,而 Windows 使用的是 GB 字符集所导致的。 在 Linux 系统中,中文文件在 ssh 终端中显示为乱码,这是由于 SSH ...

Global site tag (gtag.js) - Google Analytics