导航:首页 > 编程系统 > linux编码问题吗

linux编码问题吗

发布时间:2023-02-17 23:36:43

A. linux编码问题:1.xshell终端软件上的编码和服务器LANG命令设置的编码有什么区别2.vi和less其中一种乱码

只能说一下个人保持不乱码的经验,一要保持xshell的字符集和服务器控制台的系统语言字符集一致,二vi的vimrc设置里的语言要加入utf8,gbk等常用字符集,三在控制台cat less这些直接打印文件内容的,文件字符集要和控制台字符集一致,这样就没有乱码了

B. linux与xp系统编码问题,求设置方法

应该不是编码的问题 虽然你的系统默认是utf-8但是linux是支持gbk编码的 你上传的时候用binary方式上传看看?

C. linux python运行报编码错误

一次重启服务器后,supervisor接管的python脚本中的函数 open() 和 print() 都会报下面的编码错误:
UnicodeEncodeError: 'ascii' codec can't encode

使用的是python3,按理说编码都会默认utf-8,而且本地运行的python脚本并没有这个问题。

经大佬指点,增加环境变量 export LC_ALL="en_US.UTF-8" 后,再重启supervisor,问题解决

下面是复制的: https://www.cnblogs.com/badboy200800/p/11215981.html

Locale是一个软件在运行时的语言环境,。是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的。它包括语言(Language), 地域 (Territory) 和字符集(Codeset)。

一个locale的书写格式为: 语言[ 地域[.字符集]]。完全的locale表达方式是 [语言[ 地域][.字符集] [@修正值]。例如:

zh_CN.GB2312 => 中文_中华人民共和国+国标2312字符集。

(1)locale把按照所涉及到的文化传统的各个方面分成12个大类

(2)查看标准字符集列表

常用字符集:en_US.utf8、zh_CN.gb2312、zh_CN.gbk、zh_CN.utf8等

3.Locale的设定

LC_ALL和LANG优先级的关系:LC_ALL > LC_* >LANG
(1)如果需要一个纯中文的系统的话,设定LC_ALL= zh_CN.XXXX即可。或者设定LANG=zh_CN.XXXX也可以,但是LC_ 不要有任何特殊设定才可以(因为LC_ 优先级高)。
(2)如果需要个性化的环境,例如只想要一个可以输入中文的环境,而保持菜单、标题,系统信息等等为英文界面,那么只需要设定LANG=en_US.XXXX,然后 LC_CTYPE=zh_CN.XXXX就可以了。
(3)假如什么也不做的话,也就是LC_ALL,LANG和LC_*均不指定特定值的话,系统将采用POSIX作为lcoale,也就是C locale。

4.查看与设定字符集实践

(1)查看当前系统字符集三种方式(LC_ALL、LC_CTYPE和LANG),以查看LANG为例:

(2)更改系统字符集

备注:直接执行上述命令,可以临时修改系统字符集。如果写入环境变量可以永久改变字符集。

(3)取消当前系统字符集(设定为空)

备注:直接执行上述命令,可以临时修改系统字符集。如果写入环境变量可以永久改变字符集。

D. linux中文文件名乱码怎么解决

Linux文件名、文件内容乱码,主要原因是windows上的中文编码默认是GBK,而Linux默认中文编码为回UTF-8,由于编码不答一致,所以导致乱码问题。
为了解决这个乱码,需要对文件进行转码,具体如下:

1、前提保证已安装了convmv;
2、具体convmv的用法:
Convmv –f 源编码 –t 新编码 [选项] 文件名
一般常用参数:
-r 递归处理子目录
--notest 真正进行操作,默认情况下是不对文件进行真实操作的,只是一个预览
--list 显示所有支持的编码
--unescap 可以做一个转义
3、比如我们有一个utf8的文件名,要求转换成gbk编码,命令如下:
Convmv –f utf-8 –t gbk –notest 文件名

也可以使用linux下最好用的编码转换工具iconv来进行转码操作。

例子:将GBK编码的文件转换成UTF-8
iconv -f GBK -t UTF-8 gbkfile.txt > utf8file.txt

E. linux服务器编码格式与程序不匹配

刚刚遇到了在Windows上编写的java程序在Linux上运行时的编码问题。在Windows上用Notepad 或者Eclipse写的java程序,如果其中有中文字符,在Linux下javac是无法编译成功的。

Windows的编码集是GBK编码,而Linux的则是UTF-8,所以需要使用工具将java源程序的编码给改变。

可以使用iconv这个工具
命令格式为

iconv -f GBK -t UTF-8 file1 -o file2
登录后复制
file1是GBK编码的,file2是UTF-8编码的。
如果不想保留原来的文件可以将file2的文件名写为和file1一样。
然后就可以javac成功编译了。

F. linux系统,文件是utf-8格式的为什么会乱码呢

乱码的问题有很多可能,第一、linux安装时是否支持中文;第二、要用命令查一下格式:echo $LANG;第三确认格式是否需要在系统中修改格式类型;第四连接终端(putty,secureCRT)等工具的编码是否和系统的编码一致,不致要改为一致就可以了。

G. 文件在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。

H. Linux下编码问题

你可以试试在IE中的编码选项设置为中文自动选择看看。

是不是你的网页在制作过程中编码选择有问题?建议你用dreamweaver编辑,里面有一个专门的字符编码选项,也可以转换为你想要的编码格式。

I. linux文件名编码出问题。

1、文件分区类型的目录结构有自己的编码。
2、分区在挂载时分区的驱动很多都有自己的编码转换功能。
3、本地编码和系统输入输出编码也是影响的地方。
4、现在还有这种问题吗?楼主你不会是还在用很古老的系统吧?

你随便转换就会遇到混乱问题,也就是明明是 utf8 的编码,你非要按照 gb 编码转换到 utf8 编码的过程,这样数据肯定转换的会有问题。转换过去后就是错误编码数据,再转换回来肯定会因为数据错误而无法转换,当然这个错误数据有的是可以处理,有的是不可以处理的。因为 gb 系列和 utf 系列都是动态长度的编码,而且都是用的差不多的算法,区别也就是表示的字符不同。所以错误数据有的时候可以处理,有的时候不能处理。

Qomo 默认应该是 utf8 编码环境,文件系统的目录结构挂载后也转换成了 utf8 编码挂载。但并不代表文本文件里面的数据也全都是 utf8 。我记得 Qomo 为了兼容,默认的文本处理编码是 GB 系列 。也就是说,环境编码和文件内容编码是不同的。
而且,GBK 和 GB 2312 和 GB18030 理论上兼容,但其实是需要码表转换的。所以直接 gbk 并不一定行。
再另外,图形界面的终端里面也有显示的编码设置。

无尽的编码问题最好的解决办法是只用 7bit 表示的语言。

J. Linux系统终端字体乱码(非管理员账户操作指南)

问题:使用一台Linux系统的机器,终端总是显示有乱码,不是中文乱码,看起来像是英文乱码,我这强迫症又受不了了

解决方案:
Linux字符编码默认为UTF-8,如果出现英文乱码有可能是系统设置的编码方式为GBK。

设置locale的根本就是设置一组总共12个LC开头的变量,不包括LANG和LC_ALL。

优先 级:LC_ALL > LC_* > LANG

可以看出原系统设置的为中文字体显示和运行的语言环境,所有的设置都是使用的 zh_CN.gbk ,因中英文字符编码方式不同,可能造成英文字符或者空格显示有乱码。

5.退出后再次查看locale(再次登录才生效)
乱码的字符消失了。locale转变为:

阅读全文

与linux编码问题吗相关的资料

热点内容
qq288红包是什么意思 浏览:731
qq开通vip多少钱 浏览:962
如何快捷让文件名按顺序编辑 浏览:513
华为手机文件哪些能删除 浏览:744
追星app的应援金是什么 浏览:86
win10下载还原文件在哪里 浏览:887
橙心优选app买不了怎么办 浏览:126
苹果系统低怎么下载qq 浏览:582
数据科学与大数据专业课程有哪些 浏览:630
微信公众号回调文件 浏览:38
ipad怎么看密码是多少钱 浏览:678
qq2014表情在哪个文件夹 浏览:115
iphone6s下载的文件在哪里 浏览:332
网站怎么查询真假 浏览:507
视频文件没有图标 浏览:944
文件图标上有个锁 浏览:87
ios9appstore空白 浏览:744
htmljs是什么 浏览:852
win10自带软件卸载软件卸载 浏览:552
苹果刷机好多钱 浏览:275

友情链接