今天遇到个开发给了130多个SQL 文件,让我在oracle数据库中执行。
但是传输到数据库机器上的时候,vi里面的中文乱码。
现在整理了下,检查思路:

  1. 检查secureCRT里面的会话配置选项的 编码是否是UTF-8
  2. 检查系统级别的LANG 变量设置。export LANG=”en_US.UTF-8”
  3. 检查这个文件的文件属性。 file 文件名

结果到最后发现这个文件是ISO的,不是uft-8的,里面的中文不管怎么设置,都不能正常显示。

所以改变文件属性。用以下命令:

iconv -f gbk -t UTF-8  文件名 -o 重新定向到的文件名
查看文件编码
file -i filename

递归转换(包括子文件夹)
find default -type d -exec mkdir -p utf/{} \;
find default -type f -exec iconv -f GBK -t UTF-8 {} -o utf/{} \;

这两行命令将default目录下的文件由GBK编码转换为UTF-8编码,目录结构不变,转码后的文件保存在utf/default目录下。
Logo

更多推荐