我(yuxin.net)解决的中文问题:
Linux下如果能更改系统设置,中文文件名(或文件夹目录名)容易显示,否则不能直接显示,尤其在国外主机服务器上。实际上主机将中文文件名网址改为unicode,要正确显示中文文件名网页,需要将中文文件名改为uncode编码。中文文件名改为uncode编码可以用php函数iconv,例如以下php脚本:
<?php
echo '“于欣”的unicode码:[';
echo iconv('GBK', 'UTF-8', '于欣');
echo ']';
?>
以下两个中文名网页就是这样实现的:
yuxin.net/于欣
pubnic.com/于欣
我不喜欢看uncode码文件名,而且php程序读写也不用转换,所以我可能不用unicode码存储文件在另外文件夹目录,然后link过来:
ln -s ../dir2/于欣 浜庢[这是我(yuxin.net)解决的中文问题,我的网名:人联网3.0]

解决方案 »

  1.   

    另外:
    cgi脚本 转换为unicode码的程序:我查到以下用法:
        use Encode qw/encode decode/;
        print encode("utf8", decode("gb2312", "于欣"));下面是实际使用的例子,插入雷傲论坛程序dosavemodify.pl中,当用户名只含有 字母数字- 时存储目录取在网站根目录下,否则取在数据目录下 并且 符号link到网站根目录下unicode码目录:$memberfiletitleu=$memberfiletitle;
    $memberfiletitleu =~ tr/a-zA-Z0-9\-//d; # 用户名去掉 字母 数字 - 
    if($memberfiletitleu eq "") { # 如果去掉 字母 数字 - 后为空,则存储目录取在数据目录下
        $udir=$lbdir."../../".$host."/$memberfiletitle";
    } else { # 否则取在数据目录data-dir下
        $udir=$lbdir."../../../date-dir/".$host."/$memberfiletitle";
        use Encode qw/encode decode/;
        $systlns="ln -s ".$udir." ".$lbdir."../../".$host."/";
        system($systlns.encode("utf8", decode("gb2312", $memberfiletitle))); # 符号link到网站根目录下unicode码目录
    }这些刚刚加在 pubnic.com , 欢迎测试,保证网址/二级域名 能稳定可靠使用:
    用户名.yaotai.com www点yaotai.com/用户名 用户名.beihang.com www点beihang.com/用户名 用户名.qingzhu.com www点qingzhu.com/用户名 
    你申请的网址/二级域名能稳定持续永久使用(详细规则制定中...)。本博士(yuxin.net)拟宣誓为人联网事业保驾护航,“人联网”起点是你的网址OpenID,相关文章请搜索“人联网3.0”