教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 php的文件名加不了中文字吗

php的文件名加不了中文字吗

发布时间:2020-08-02   编辑:jiaochengji.com
教程集为您提供php的文件名加不了中文字吗等资源,欢迎您收藏本站,我们将为您提供最新的php的文件名加不了中文字吗资源
不建议使用中文文件名!

因为中文会被URL编码发送,到服务器端的时候虽然会解码,但是如果和你的编码不一致,就解不出来了。

简单的说,URL中的中文 ,在常见的浏览器中,默认会以UTF-8编码进行编码后发送到服务器端!而在中文 windows环境的服务器中,解码URL的时候,却用的是gb2312编码进行解码的,这样就导致了没法得到你在地址栏里输入的中文原文!

所以就会提示找不到文件名了。

如果一定要用中文 ,解决办法,仅限你本地浏览的解决办法

在浏览器中,打开“internet选项“菜单,选择”高级“,然后找到 “发送utf-8 URL“,把前面的钩去掉。然后确认。

再重启浏览器。这样地址栏里的中文就会默认以gb2312编码 进行发送,这样服务器端就能正确找到该中文文件名的文件了

之前网页的chartset用的是utf-8,文件也用utf-8,然后用fopen()创建一个中文文件名的文件时问题就出来了,文件名都是乱码!

查看了很多文档试了不少方法都解决不了,本来想着用别的方法绕过这个问题,忽然脑子里闪过Windows默认的文字编码是ansi,然后再 baidu了一下,证实了这点,所以我的网页也应该是ansi编码才能使创建的文件名不会是乱码。

接着就着手验证,把网页都用ansi保存,去掉chartset语句,果然ok了,但是网页的内容就成乱码了,后来想起,这个网页还include 了别的网页,把include的网页也改成ansi保存,哈哈万事ok

编程这个工作真的很靠积累,如果我以前没看过Windows默认编码是ansi,那这个问题就不知何年何月才能解决了

ps:< meta content ="text/html; charset=utf-8" http -equiv ="Content-type" > 这个meta标记一定要放在<title></title>之前才有效的

后来又想到了一个更好的解决方法,网页还是用utf-8编码和保存,只是fopen()里的文件名参 数单独给它编下码就行,php有iconv() 这个改换编码的程序,把utf-8转成 gb2312就可以避免中文文件名为乱码了

以上就是php的文件名加不了中文字吗的详细内容,更多请关注教程集其它相关文章!

  • 本文原创发布教程集,转载请注明出处,感谢您的尊重!
  • 您可能感兴趣的文章:
    xampp需要另外安装php吗?
    php的文件名加不了中文字吗
    学习用php实现mvc简单框架
    php命令行参数详解及应用PHP学习网
    php和css一样吗
    php环境发请求会经过hosts文件吗
    php的readfile能读图片吗
    php代码属于程序员吗
    iis支持php吗
    php面试题目 面向中等水平的程序员

    [关闭]
    ~ ~