我有一个运行Ubuntu的Web服务器,我在网页上有一些指向服务器上可下载文件的链接。问题是由于字符编码,我有404(未找到)。
在网站上有一个下载链接,其中包含:Luís
,但当我Lu�s
时,服务器上的文件名显示为ls
。
没有这种字符的文件链接不显示任何问题,但如果我有“特殊”字符,那么404会发生。
有关如何解决此问题的任何想法?
更新:当我运行语言环境时,我得到:
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE=en_US.UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
不是吗?我的意思是它正在使用utf8吗?
答案 0 :(得分:1)
您在网络服务器上使用哪种语言环境?如果您的服务器区域设置和HTML编码页面相同,那就太好了。
我的意思是,您应该将UTF-8用作服务器区域设置,将UTF-8用作网页上的代码页。
如果你在UTF-8代码页中有HTML链接,但是你的服务器有locale latin-1,那么你会遇到类似的问题。
因此,您需要检查服务器的区域设置, ls 应该显示您在HTML链接中使用的完全相同的文件名。
<强>已更新强>
如何检查Linux上的语言环境:只需执行语言环境
如何检查Apache的默认编码页面(如果您使用Apache作为Web服务器) - 转到httpd.conf并检查以下内容: AddDefaultCharset utf-8