下载Linux Web服务器字符编码不匹配的链接

时间:2012-12-19 10:54:48

标签: linux web character-encoding

我有一个运行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吗?

1 个答案:

答案 0 :(得分:1)

您在网络服务器上使用哪种语言环境?如果您的服务器区域设置和HTML编码页面相同,那就太好了。

我的意思是,您应该将UTF-8用作服务器区域设置,将UTF-8用作网页上的代码页。

如果你在UTF-8代码页中有HTML链接,但是你的服务器有locale latin-1,那么你会遇到类似的问题。

因此,您需要检查服务器的区域设置, ls 应该显示您在HTML链接中使用的完全相同的文件名。

<强>已更新

如何检查Linux上的语言环境:只需执行语言环境

如何检查Apache的默认编码页面(如果您使用Apache作为Web服务器) - 转到httpd.conf并检查以下内容: AddDefaultCharset utf-8