各位大侠好,最近手里有个项目需要在centos创建中文目录,但目录名称总是不对应
php页面编码、mysql编码用的都是utf-8测试如下:
if(mkdir("中文"))
    echo "创建成功";
else
    echo "创建失败";创建的文件夹名称为:“涓枃”,不知道原因在哪另:如果把页面改成“gbk”就可以正常创建

解决方案 »

  1.   

    通常情况下,创建中文目录,在linux应该使用utf-8编码,而windows要使用gbk编码。你这个情况比较少见,使用gbk才能正确创建,说明你的系统在底层处理的时候是按gbk编码处理的。这可能跟你的文件系统的挂载参数有关(猜测),建议从系统设置上找原因。
      

  2.   

    因为你的centos默认不是utf-8(或者说不是en_US.UTF-8),去检查一下
      

  3.   

    既然 php页面编码、mysql编码用的都是utf-8
    并且 创建的文件夹名称为:“涓枃”这就表示你的操作系统是简体中文(gbk)的
    那么就应该
    if(mkdir(iconv('utf-8', 'gbk', "中文")))
    ....
      

  4.   

    是的,使用中文做目录名本身就是怪怪的简体中文windows 默认字符集是 gbk
    繁体中文windows 默认字符集是 big5
    简体中文linux 默认字符集是 utf-8你总是要用对方能懂的语言和他打交道吧?
      

  5.   

    恩,这个方法是能够解决问题,但每次都要这么设置下,感觉怪怪了,没找到错误的根本原因,我想知道到底为啥?谢谢楼上帮忙解决问题的大侠们windows :GBK
    LINUX :UTF-8不同系统用不同编码