shell脚本中设置字符集 为什么Linux系统默认使用utf8编码?
为什么Linux系统默认使用utf8编码?
GBK是微软为简体中文开发的本地代码,被工信部起诉。每个国家或地区都会制定和使用自己的地方代码,一些企业也会制定某个国家或地区的地方代码(GBK是微软制定的简体中文代码)。当打开用本地代码编写的文件而不指定使用的本地代码时,可能会看到乱码。
为了解决本地编码混乱的问题,Unicode和ISO这两个组织已经开始开发一种字符编码系统,可以容纳不同国家的字符而不发生冲突。目前,这两个组织相互承认,并有兼容的编码。
目前,许多计算机系统使用2字节(16位整数)或4字节(32位整数)统一编码。统一编码只描述每个字符的编码,但没有解释如何将编码存储在存储介质上。
目前,计算机系统中有前高字节和前低字节两种整数存储模式,因此前高字节的数据在前低字节的系统中会出现异常,反之亦然。同时,我们知道很多编程系统在处理字符串时,都会把值为0的字节作为字符串的结尾,不管是前高字节还是前低字节,字符串中都会出现大量值为0的字节,因此传统的字符串处理功能无法使用。
为了解决统一编码的存储和与现有字符串处理函数兼容的问题,引入了utf8编码。这种编码规定了统一编码的存储方式,并确保值为0的字节仍然用作字符串的结尾,这样就可以继续使用原来的字符串处理函数,而不需要开发新的集合。
当然,utf8也有一个问题,那就是它是可变长度编码。统一编码的字符可以编码为一个字节、两个字节、三个字节、四个字节(版本1)或六个字节(版本2)。
shell脚本怎么生成运行日志?
解决方案:将编码格式设置为UTF-8,如红色字体。
#定义调试优先级,R用于日志输出
log4j.Rootlogger=debug,file
#将日志输出类型设置为file type
#log4jappender.file=组织. apache.log4j. fileappender
#设置日志输出类型,每天一个文件
log4jappender.file=组织. apache.log4j. dailyrollingfileappender
#add
在每天生成的文件之后添加log4j附录文件e、 Datepattern=“.”yyyymmdd
#设置日志文件名/home/Weblogic/oneboss/0068统计日志
log4j。appender.file.file=/home/weblogic/oneboss/0068统计日志
#每次在文件末尾写入新的日志信息
log4jappender.file.Append=真
#日志输出信息格式类型
log4jappender.file.layout=组织. apache.log4j. patternlayout
#日志输出信息的格式为newline,date,priority,[类名],log information,newline===%n%d[%C]-%m%n%m%n
log4jappender.file.layout文件. conversionpattern=%m%n
#设置输出日志文件代码(can控制乱码)
linux批量修改文件字符集shell脚本?
批量转换文件的代码当然是通过命令转换的。如果文件太多,可以编写shell脚本进行批转换。Linux系统中转换文件代码格式的命令是iconv。介绍了iconv命令的使用。iconv命令非常简单。记住它的三个参数。以下是它的三个参数:-f参数:表示from,它是原始编码格式-t参数:表示to,它是以后的新编码-O参数:表示输出文件,它是转换编码后的新文件的文件名。如果没有此参数,新文件将更改其重写的原始编码格式。以下是将GB2312编码文件转换为UTF-8编码的示例:iconv-f GB2312-t utf8 mygb2312.txt-O myutf8.txt。在本例中,mygb2412.txt是要转换的文件,myutf8.txt是转换后的新文件。
shell脚本中设置字符集 shell脚本输出中文乱码 怎么在shell脚本中指定编码
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。