以前建过一个samba服务器,一直没有问题,但是最近由于工作需要,需要新添加一个共享目录,另一个部门也要用,觉得很简单,直接建立新用户,新目录,在配置文件新添加一行配置就可以了,其实我也是这么做的,但是做完之后发现了一个问题,问题如下:

    A目录是以前的目录,B目录为新建的目录   两个目录名均为中文

    最早的A目录中文正常显示,新建的B目录中文总是乱码,查看下字符编码是UTF-8的,一番搜索啊,据说该字符集能好,好吧,把字符集改成GB2312的,结果出来让我很费解啊,A本来正常的却全是乱码了,B目录现在显示正常。同样改回UTF-8的,跟最早的结果又一样了,哎!苦闷啊~~

    思路:我的思路就是1、字符编码问题,2、新建目录问题,3、文件本身问题

    注:我上传的时候使用的ftp方式上传

    首先,字符编码的问题刚才已经试过了,那考虑下目录本身吧。干脆点的直接把文件mv走,目录删掉,重新建一个,然后把文件拷回来。结果很失望,问题依旧,文件本身的问题么?在B下直接新建文件夹,没问题,中文显示正常,本地电脑新建一个传到B上,结果是乱码,到了这里问题应该解决了,是文件传输有问题。

    由于服务器本身是UTF-8的编码,而我上传的时候使用的是ftp上传的,在传输过程中可能存在这样的问题,1、我的ftp上传的时候本身更改了编码方式,2、我的文件本身就是GB2312的编码,而ftp上传的时候采用自动识别编码方式,也就是说它本身不更改编码,所以传到服务器上的时候依然是GB2312的编码。

    解决问题:简单了,我不用ftp方式上传呢,直接将我的文件拷贝到B目录下,ok!!现在所有的中文都能正常显示了,samba在自身上传文件的时候应该会自动调整编码方式,来使文件正常显示。

    以上都是本人自身观点,如有不对的地方,请大侠多多指点,多多拍砖。