因此,当我尝试访问它时,有以下文件Adán-y-Eva-50x50.jpg ,apache将其转换为Ad\xc3\xa1n-y-Eva-50x50.jpg并且不会find它,即使它存在。
这只适用于包含UTF8字符的文件名。
我在/etc/httpd/conf/httpd.conf已经有了以下configuration
... AddDefaultCharset UTF-8 ... IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable +Charset=UTF-8 ...
并添加到我的根.htaccess的第一行:
IndexOptions +Charset=UTF-8
所有这些都无法加载这些types的文件。 有什么build议么?
只要提一下:我正在使用plesk面板预configuration的CentOS服务器上运行网站
这里的问题似乎不是在您的浏览器,也不是您的Apacheconfiguration。 您需要仔细检查您的系统的区域设置。
你需要检查Apache的locale是否启用了UTF-8。 要做到这一点,你可以运行命令:
$ sudo su -l -c locale www-data
www-data是apache用户。 检查返回的语言环境是否看起来不像例如es_ES.UTF-8这意味着您的语言环境没有启用UTF-8。
如果是这种情况,可以在CentOS机器上,在/etc/sysconfig/i18n上更改这个configuration,将LANG="es_ES"改为LANG="es_ES.UTF-8" 。 但是,为了这个工作,你的系统仍然需要这个语言的语言环境文件。 要检查它是否存在,请使用locale -a获取可用的语言环境列表。
如果您的系统没有启用UTF-8语言环境,则可以使用以下命令生成一个:
$ sudo localedef -i es_ES -f UTF-8 es_ES.utf8
并将其设置为默认语言。
希望这个帮助!
除了fboaventura的回答
检查语言环境apache是否正在运行
$ sudo su -l -c locale www-data
为了更改/etc/sysconfig/i18n i18nconfiguration:
转到CentOS系统configuration目录
$ cd /etc/sysconfig
制作您的语言设置文件的备份副本
$ cp i18n i18n.backup
使用nano编辑语言设置文件
$ nano i18n
编辑文件以包含您的configuration
例如:
LANG="en_US.utf8" SYSFONT="latarcyrheb-sun16" SUPPORTED="en_US.utf8:en_US:en:fr_FR.utf8:fr_FR:fr :es_ES.utf8:es_ES:es:de_DE.utf8:de_DE:de:sv_SE.utf 8:sv_SE:sv:zh_CN.utf8: zh_CN:zh:zh_TW.utf8:zh_TW:zh:ja_JP.utf8:ja_JP:ja:k o_KR.utf8:ko_KR:ko"
保存该文件并重新启动系统。
其他资源