PHP的url中含有中文字符时出错

本地环境为win10+xampp

php文件所在的目录或者文件名有中文字符,例如 f:wwwroot中文test.php

导致访问 http://localhost/中文/test.php时报错

Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0

Fatal error: Unknown: Failed opening required 'F:/wwwroot/中文/test.php' (include_path='.;D:xamppphpPEAR') in Unknown on line 0

将目录名改为全英文则没问题

请问能否通过修改 php.ini 等配置文件,来解决路径中有中文字符时的问题?

阅读 3.5k
2 个回答

没那个必要,规范也不认可这样做,技术本来就来源于国外,你应该遵守编程规范。

中文解析的时候中文是会被编码的,看你的路径是 windows ,目录的编码应该是 ANSI,而你的 php 脚本编码是 utf-8 的话,同样的中文编码出来的值是不一样的,所以找不到。
可以用 iconv("UTF-8","gb2312",$dir) 这个函数来转换一下文件夹的编码

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏