PHP无法处理带有Unicode字符的文件:当我在浏览器上访问 testSite /главная.php时,会抛出此错误。
警告:未知:无法打开流:第0行的“未知”中没有此类文件或目录
致命错误:未知:在第0行的Unknown中打开所需的'blah / blah / testSite /главнаÑ.php'(include_path ='.; C:\ xampp \ php \ pear \')失败
然而 testSite /главная.html没问题。
无论如何我可以绕过这个或者我是否必须使用更好的处理Unicode的编程语言?
答案 0 :(得分:0)
打开带有unicode文件名的php文件是不 php
的东西,但取决于底层操作系统。只要操作系统支持unicode文件名,它就可以工作。
在我的debian squeeze中,这根本不是问题,并且创建名为главная.php
的文件的Windows 7(netbeans运行)没有问题:
include 'главная.php';
答案 1 :(得分:0)
在我看来,您的网络服务器对URI使用win-1252编码。 尝试在你的apache / nginx /无论配置中设置utf-8。 如果仅在require()/ include()上下文中使用unicode名称,则还可以使用iconv()/ mb_convert_encoding()转换编码。
答案 2 :(得分:0)
也许它有效:
mb_internal_encoding('UTF-8');
ini_set('default_charset', 'UTF-8');
答案 3 :(得分:0)
答案 4 :(得分:0)
使用" wfio://"在PHP5中
https://github.com/kenjiuno/php-wfio
对于文件夹访问,请使用fix:
.htaccess:
php_value auto_prepend_file C:/fix.php
fix.php:
$file = $_SERVER['SCRIPT_FILENAME'];
if (!is_readable($file)) {
$file="wfio://".$file;
include $file;
exit;
}