
怎么让php文件可以使用中文文件名或者中文路径?
在本地练习时,只要打开的php文件带有中文文件名或者中文路径的时候,例如http://localhost/Test/中文文件名.php,就会出现如下的错误:Warning...
在本地练习时,只要打开的php文件带有中文文件名或者中文路径的时候,例如 http://localhost/Test/中文文件名.php ,就会出现如下的错误:
Warning: Unknown: failed to open stream: Invalid argument in Unknown on line 0 /n
Fatal error: Unknown: Failed opening required 'E:/WebRoot/yaTest/中文文件名.php' (include_path='.;\xampp\php\PEAR') in Unknown on line 0 /n
当访问的php页面不含中文时,一切正常,当访问还有中文的html页面时,一切正常。
求高人解答 展开
Warning: Unknown: failed to open stream: Invalid argument in Unknown on line 0 /n
Fatal error: Unknown: Failed opening required 'E:/WebRoot/yaTest/中文文件名.php' (include_path='.;\xampp\php\PEAR') in Unknown on line 0 /n
当访问的php页面不含中文时,一切正常,当访问还有中文的html页面时,一切正常。
求高人解答 展开
4个回答
展开全部
首先,不建议使用中文文件名!
因为中文会被 URL编码发送,到服务器端的时候虽然会解码,但是如果和你的编码不一致,就解不出来了。
简单的说,URL中的中文 ,在常见的浏览器中,默认会以UTF-8编码进行编码后发送到服务器端!而在中文 windows环境的服务器中,解码URL的时候,却用的是gb2312编码进行解码的,这样就导致了没法得到你在地址栏里输入的中文原文!
所以就会提示找不到文件名了。
如果一定要用中文 ,解决办法,仅限你本地浏览的解决办法
在浏览器中,打开“internet选项“菜单,选择”高级“,然后找到 “发送utf-8 URL“,把前面的钩去掉。然后确认。再重启浏览器。这样地址栏里的中文就会默认以gb2312编码 进行发送,这样服务器端就能正确找到该中文文件名的文件了
因为中文会被 URL编码发送,到服务器端的时候虽然会解码,但是如果和你的编码不一致,就解不出来了。
简单的说,URL中的中文 ,在常见的浏览器中,默认会以UTF-8编码进行编码后发送到服务器端!而在中文 windows环境的服务器中,解码URL的时候,却用的是gb2312编码进行解码的,这样就导致了没法得到你在地址栏里输入的中文原文!
所以就会提示找不到文件名了。
如果一定要用中文 ,解决办法,仅限你本地浏览的解决办法
在浏览器中,打开“internet选项“菜单,选择”高级“,然后找到 “发送utf-8 URL“,把前面的钩去掉。然后确认。再重启浏览器。这样地址栏里的中文就会默认以gb2312编码 进行发送,这样服务器端就能正确找到该中文文件名的文件了
展开全部
注意编码,一般情况下在windows下才可以直接使用中文,不过还是建议采用了html编码,这样不管是什么名字,就都可以显示了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是因为这个服务器不支持中文路径造成的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个还是不要了 最好不要用中文名 想用的话就转化一下吧 不然很多问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询