当前位置:首页 » 操作系统 » linux系统编码

linux系统编码

发布时间: 2023-05-22 13:35:02

‘壹’ linux查看系统编码和修改系统编码的方法

然后修改/etc/sysconfig/i18n,如改成中文编码:
LANG=en_US.UTF-8
改为
LANG="zh_CN.GBK"
然后辩渣在不重启的情厅灶扒况下扮昌重新加载i18n文件

‘贰’ linux 系统编码 怎么查看

linux查看系统编码,使用locale命令,如:

注:此系统使用默认编码,default指的是安装系统是所设置巧锋宽的语言编码

如果需要改改系统编码,可以修改/etc/sysconfig/i18n,如把utf-8改成中文编码,如下代孝亮码所示:

LANG=en_US.UTF-8

改为

LANG="zh_CN.GBK"

之后重基枯启即可。

‘叁’ linux不同版本的默认编码

在灶型银隐宴Linux下默认编码格式为UTF-8,使用locale命令租扒查看编码格式。若编码格式不是UTF-8,编辑~/.bashrc,export LC_ALL=en_US.utf8

export LANG=$LC_ALL

‘肆’ 如何更改Linux(Ubuntu)语言和编码设置

Ubuntu下修改系统默认语言为简体中文:

1.首先安装中文的支持,安装:language-selector,language-env,language-pack-zh包

sudoapt-getinstalllanguage-selectorlanguage-envlanguage-pack-zh

2.然后使安装生效,配置区域

dpkg-reconfigurelocales
Generatinglocales...
en_US.UTF-8...done
zh_CN.UTF-8...up-to-date
zh_HK.UTF-8...up-to-date
zh_SG.UTF-8...up-to-date
zh_TW.UTF-8...up-to-date
Generationcomplete.
Currentdefaulttimezone:'US/Eastern'.

Ubuntu里字符编码设置:

1.修改编码配置文件

gedit/var/lib/locales/supported.d/local
#在文件中添加如下内容:
zh_CN.GBKGBK
zh_CN.GB2312GB2312
zh_CN.UTF-8UTF-8

2.强制更新,使设置生效

sudodpkg-reconfigure--forcelocales

‘伍’ Linux系统的默认编码怎样设置

查看默认编码:
$: env | grep LANG
LANG=en_US.UTF-8
GDM_LANG=en_US
LANGUAGE=en_US
修改编码(加到/etc/profile中就能永久生效):
export LANG=xxx

‘陆’ 如何在Linux系统实现字符编码转换

Linux下提供了iconv实现这袭渣一乱旦功能,在Linux 的 shell 环境下,iconv用法如下:
iconv -f fromconde -t tocode
-f: 指定需要转换的文本编码
-t: 指定目标文本编码

我们也可以用 -l 列举出所有哗禅扰已知的字符编码集合

iconv -l

具体用法可以通过帮助函数 iconv --help来详细了解

另外,我们也可以在程序中直接使用该函数实现文本的编码转换

#ifndef __CODE_CONVERTER
#define __CODE_CONVERTER
#ifdef WIN32
#include <windows.h>
#else
#include <iconv.h>
#endif
class CodeConverter
{
private:
#ifndef WIN32
iconv_t m_cd;
#endif
const char* m_pszFromCode;
const char* m_pszToCode;
public:
CodeConverter()
{
m_pszFromCode = NULL;
m_pszToCode = NULL;
#ifndef WIN32
m_cd = 0;
#endif
}
~CodeConverter()
{
#ifndef WIN32
iconv_close(m_cd);
#endif
}
bool Initialize(const char *pszToCode, const char *pszFromCode);
size_t Convert(char* inBuf, size_t inBytesLeft, char* outBuf, size_t outBytesLen);
};
#endif

#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include "code_converter.h"
#include <errno.h>
bool CodeConverter::Initialize(const char* pszToCode, const char* pszFromCode)
{
if(pszFromCode == NULL || pszToCode == NULL) return false;
m_pszFromCode = pszFromCode;
m_pszToCode = pszToCode;
#ifndef WIN32
m_cd = iconv_open(m_pszToCode,m_pszFromCode);
if(m_cd == (iconv_t)-1)
{
printf("cannot open iconv descripter\n");
return false;
}
#endif
return true;
}
size_t CodeConverter:: Convert(char* inBuf, size_t inBytesLeft, char* outBuf, size_t outBytesLen)
{
int nRealLen = 0;
#ifdef WIN32
if(stricmp(m_pszFromCode,"UNICODE") == 0)
{
nRealLen = WideCharToMultiByte(CP_ACP,0,(PWCHAR)inBuf, inBytesLeft, (PCHAR)outBuf, outBytesLen,NULL,NULL);
}
if(stricmp(m_pszFromCode,"gb2312") == 0)
{
nRealLen = MultiByteToWideChar(CP_ACP,0,(PCHAR)inBuf,inBytesLeft,(PWCHAR)outBuf, outBytesLen);
}
#else
size_t outBytesLeft = outBytesLen;
size_t ret = 0;
while (1)
{
ret = iconv(m_cd, &inBuf, &inBytesLeft, &outBuf, &outBytesLeft);
if (ret == 0) break;
if (ret == (size_t)-1)
{
printf("iconv error aaa: %s\n",strerror(errno));
return -1;
}
inBuf++; inBytesLeft--;
}
nRealLen = outBytesLen-outBytesLeft;
outBuf[nRealLen]=0;
#endif
return nRealLen;
}

‘柒’ 如何利用命令查看linux 系统汉字编码

1、连接上相应的linux主机,进入到等待输入shell指令的linux命令行状态下。

‘捌’ linux查看文件编码命令

1,使用file 命令查看文件的编码格式
[root@dep-184 /]# file 1.txt
1.txt: ISO-8859 text
2,vim 命令
使用vim命令进入文件 1.txt,然后在使用 “:set fileencoding” 查看文件当前展示的编码格式(这里必须确保展示内容无乱码,才可以得到内容真实的编码格式)
3,enca命令 《Linux就该这么学》
使用enca可以直接查看文件内容的编码格式,如下
[root@dep-184 /]# enca 1.txt
Simplified Chinese National Standard; GB2312

‘玖’ linux下中文显示乱码怎么解决

linux下经常遇到的编码问题如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题。Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8。
查看编码的方法

方法一:file filename
方法二:在Vim中可以直接查看文件编码
:set fileencoding
如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在
~/.vimrc 文件中添加以下内容:
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开
文件编码转换

多方法:
iconv 提供标准的程序和API来进行编码转换;
convert_encoding.py 基于Python的文本文件转换工具;
decodeh.py 提供算法和模块来谈测字符的编码;
linux下文件编码转换:

方法一:

在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式
:set fileencoding=utf-8

或者

11)设置文件集合,即要对哪些文件进行操作,可以使用通配符,比如我通常是对 C/C++ 源程序进行编码转换

:args *.h *.cpp

2)给出要在每个文件上执行的命令,这里是转换编码:

:argdo set fenc=utf-8 | update

方法二:

iconv 转换

5.案例:

假如说我们将windows下的一个UTF-8的文件传到linux环境下,linux环境下的系统编码是GB18030,我们cat的时候就会出现乱码,这个时候就应该想到转码了,下面我们来进行试验:

我们将windows下一个名为UTF-8.sh的文件传到linux系统中,其中UTF-8.sh的内容如下:

我是中文编码UTF-8模式~

而linux系统的系统语言设置为:

[root@sor-sys zy]# cat /etc/sysconfig/i18n
LANG=zh_CN.GB18030
SYSFONT="latarcyrheb-sun16"
这个时候查看一下文件的内容及编码:

[root@sor-sys zy]# file UTF-8.sh
UTF-8.sh: UTF-8 Unicode text, with no line terminators
[root@sor-sys zy]# cat UTF-8.sh
锘挎垜鏄?腑鏂囩紪镰乁TF-8妯″纺~[root@sor-sys zy]#
[root@sor-sys zy]#

这个时候我们就需要转换编码了,记得使用iconv

[root@sor-sys zy]# iconv -f UTF-8 -t GB18030 UTF-8.sh -o GB18030.sh
[root@sor-sys zy]# cat GB18030.sh
??我是中文编码UTF-8模式~[root@sor-sys zy]#
[root@sor-sys zy]# file GB18030.sh
GB18030.sh: Non-ISO extended-ASCII text, with no line terminators
[root@sor-sys zy]#

convmv就是更改文件名编码方式的一个工具。
比如

sudo convmv -f gbk -t utf-8 -r –notest /home
就是将/home目录下原来文件名是gbk编码方式的全部改为utf-8格式的。这里 -f 后面为原来的编码方式,-t 后面是要更改为的编码方式, -r 表示这个目录下面的所有文件, –notest 表示马上执行,而不是仅仅测试而已。另外这命令好像要root才能执行,因此要加上 sudo。

‘拾’ linux怎么看文件的字符集编码

在Linux中查看文件编码可以通过以下几种方式:1.在Vim中可以直接查看文件编码:setfileencoding,即可显示文件编码格式。2.enca(如果你的系统中没有安装这个命令,可以用sudoyuminstall-yenca安装)查看文件编码

热点内容
王者荣耀安卓系统怎么转换到苹果 发布:2025-04-22 22:53:29 浏览:981
emobile7服务器地址如何查看 发布:2025-04-22 22:32:51 浏览:763
房间的秘密码是什么 发布:2025-04-22 22:32:43 浏览:121
文件夹前面多了选择框 发布:2025-04-22 22:32:40 浏览:704
迅雷网ftp 发布:2025-04-22 22:30:02 浏览:622
鼠标驱动源码 发布:2025-04-22 22:29:55 浏览:768
如何开发android应用 发布:2025-04-22 22:18:55 浏览:880
医保卡密码从哪里看 发布:2025-04-22 22:14:34 浏览:260
地铁逃生安卓更新后为什么进不去 发布:2025-04-22 22:13:49 浏览:443
java枚举使用 发布:2025-04-22 22:06:56 浏览:257