N8500存储共享文件系统中文名乱码

发布时间:  2016-02-27 浏览次数:  466 下载次数:  0
问题描述
N8500上的一个目录同时共享给HP UnixWindows Server 2003 x64,应用程序通过http将文件上传到HP Unix NFS共享目录,Windows Server 2003 x64只读CIFS共享目录,发现HP Unix上传的中文文件名是乱码
告警信息
windows访问文件系统时中文名为乱码
处理过程

 

1、 查看远程服务器上的 NFS 共享目录尝试重新挂载,

运行命令提示符

> showmount -e HOSTNAME

导出列表在 HOSTNAME:

/raid0/data/files 

挂载 NFS 目录

> mount HOSTNAME:/raid0/data/files/ N:

 

2、经排查N8500使用UTF-8编码,HP Unix使用GB 18030编码,通过ls命令查看HP Unix NFS共享目录中的中文文件名正常,但是通过Tab键补齐中文文件名时乱码

查看系统字符集:

locale -a       查看本机的所有字符集
export LANG=字符集  设置字符集
echo $LANG     查看当前使用的字符集

修改字符编码在系统根目录下:
 more .profile  查看.profle文件的内容
 vi .profile  编辑.profile
 LANG="zh_CN.hp15CN"  添加对应的编码
 . ./.profile   执行(保存)
 echo $LANG 
查看

根因

UNIX客户端的编码是 GB18030 ,不是UTF-8,客户现场无法更改编码, Windows Server 2003 x86安装SFU NFS客户端并在命令行下挂载HP Unix NFS共享目录,成功解决中文乱码问题, SFU NFS客户端只能运行在x86平台,Windows Server 2003 x64系统自带的NFS客户端未成功挂载HP Unix NFS共享目录

解决方案
建议将Windows Server 2003 x64系统改为Windows Server 2003 x86并安装SFU挂载HP Unix NFS共享目录或者修改HP Unix字符集为UTF-8

END