背景:
1.文件名含有中文.
2.文件传输过程中使用的是d5000用户,非root用户.
3.编写的程序在命令窗口中直接 java -jar 去执行.在root用户下的命令窗口显示乱码,无法识别文件名.
在d5000用户下执行没有问题.
4.编写.sh脚本执行.在root用户和d5000用户下均无法识别文件名.
5.file -i filename 显示文件编码为 iso-8859
6.root用户的locale是utf-8,d5000用户的locale是GBK
总结犯错分析:
1.编写的.sh脚本是从root用户下copy而来
2.编写的.sh脚本没有写文件头 #!/bin/bash #!/bin/csh #!/bin/sh (加哪个视现场情况而定)
解决过程:
1.我一个人思考了很久,然后还使用了各种解决办法,均无效
2.有一天,我又开始捣鼓该问题,恰好有另一个玩的好的厂家也在现场帮我看了这个问题.
3.说他们之前遇见过,然后帮我分析了一下.重新整理了一下.sh 也就是说,在d5000下直接新增的 .sh文件,并加上了 头标识