0

我在 Mac 上有 nginx,在 ubuntu 11.10 上有生产 nginx。在静态网站中,我有文件名中带有西里尔字母的文件。在 mac 上,它们被系统找到。在 ubuntu 上,nginx 写入日志

2: No such file or directory.

具体来说,并非所有俄罗斯文件名都被不接受。只有那些在文件名中有“й”字符的。有任何想法吗?

这不是 Nginx 的问题。因为No such file当我尝试这样做时,我得到了同样的结果cat <filename>。任何偶数西里尔文文件名都可以通过,但带有“й”的文件名除外。也许其他一些字符也坏了,我只是没有偶然发现它们。

字符“й”是一个标准的当代字符,而不是任何一种西里尔字母扩展或任何史前字母。

4

1 回答 1

-1

在文件名中使用俄语字符在生产服务器中是错误的方式。只需在使用前重命名所有文件。

或者尝试像这样使用语言环境

  • LANG=ru_UA.UTF-8
  • LANGUAGE=ru_UA:ru
  • LC_CTYPE="ru_UA.UTF-8"
  • LC_NUMERIC="ru_UA.UTF-8"
  • LC_TIME="ru_UA.UTF-8"
  • LC_COLLATE="ru_UA.UTF-8"
  • LC_MONETARY="ru_UA.UTF-8"
  • LC_MESSAGES="ru_UA.UTF-8"
  • LC_PAPER="ru_UA.UTF-8"
  • LC_NAME="ru_UA.UTF-8"
  • LC_ADDRESS="ru_UA.UTF-8"
  • LC_TELEPHONE="ru_UA.UTF-8"
  • LC_MEASUREMENT="ru_UA.UTF-8"
  • LC_IDENTIFICATION="ru_UA.UTF-8"
  • LC_ALL=ru_UA.UTF-8
于 2013-01-13T09:26:01.460 回答