linux日志中文乱码怎么解决方法

oh 2 02 2 年,一座城市面临着一个难题。
中国进入Linux系统突然变得扑朔迷离。
看着密密麻麻的符号,我当时就一头雾水。
后来慢慢研究,发现解决这个问题的方法有很多。

首先,您必须检查字符集代码,看看系统是否默认为UTF-8 我使用命令 echo$LANG 并发现输出是 en_US.ISO-8 8 5 9 -1 需要转换,而不是UTF-8 exportLANG=en_US.UTF-8 即可生效;然后我使用source~/.bashrc临时更改了它。
如果要永久更改,则必须将此行写入配置文件中。

之后,我必须检查日志文件的编码。
使用 file 命令确保它不是 UTF-8 并且是统一编码的。

编辑器还需要调整编码设置。
例如,在Vim中,我必须在命令模式下输入setfileencoding=utf-8 ,或者在启动时设置代码。
在nano编辑器中按Alt+O;选择编码并更改为 UTF-8 使用 VSCode 和 Sublime,我必须在设置中手动选择编码格式。

还有一个 iconv 工具可以转换代码。
让我举一个将 GB2 3 1 2 编码的日志文件转换为 UTF-8 的示例。
命令为 iconv -fGB2 3 1 2 -tUTF-8 日志文件.log -o 日志文件_UTF8 .log。
对于批量转换,目录还可以使用 find 命令结合 iconv 来运行里面的所有文件。

应用程序的编码风格也需要改变。
例如,对于 Nginx,我需要确保有 charsetutf-8 行。
在 nginx.conf 中启动 Java 应用程序时,我添加了一个 JVM 参数 java-Dfile.encoding=UTF-8 -jarapp.jar。
在Python脚本的开头,我编码,--coding:utf-8 --,然后设置importsysreload(sys)sys.setdefaultencoding('utf-8 ')。

进行这些更改后,您必须重新启动服务或应用程序才能使更改生效。

最后确认修复效果;必须使用cat或less查看转换后的日志文件,并确保终端支持UTF-8 防止字符混乱;我的系统,将编辑器和应用程序代码编译为UTF-8 ,并在记录生成阶段指定UTF-8 编码。

终端显示乱码;我必须检查终端模拟器的编码设置。
有的字母是乱码;可以混合编码;我需要恢复或检查数据源。
权限问题;我必须确保我对日志文件具有读写权限。

通过这个功能,解决了Linux日志中汉字乱码的问题已经解决了。
如果以后再发生这样的事情,你就会知道如何应对。

如何将 csv 文件的格式在 Linux 批量转换成 utf-8 的编码格式

说白了,在Linux中使用inov命令转换文本文件的操作其实非常简单。
首先,最重要的报告。
iconv命令有三个关键参数:-f表示原始编码格式,-t表示目标编码格式,-o表示输出文件的名称。
例如,去年我们将 GB2 3 1 2 编码的文件运行为 UTF-8 命令 iconv -fgb2 3 1 2 -ttutf8 mygb2 3 1 2 .txt -omyutf8 .txt。
这里要转换mygb2 3 1 2 .txt文件,myutf8 .txt是转换后的新文件。

还有一点,如果需要构建反向文件,可以通过编写 shell 脚本轻松完成。
此时我没有注意到很多人。
事实上,脚本只需要遍历预定义目录中的所有文件,然后执行每个文件中的图标命令即可。

等等,还有一个。
起初我以为转换 iconv 命令后,如果目标文件名不存在,会自动创建。
后来我发现不对劲。
如果-o参数为空,则会覆盖原来的 iconv 文件。
所以记得使用-o选项来指定输出文件的名称。

最后,我认为这个命令值得尝试,它对于处理转录作业非常有用。
如果您遇到与描述类似的问题,您可以尝试 iconv。