为什么我的Linux服务器不支持Unicode

我买了个dedicenter的VPS,准备搭个个人网站。但是当我把文件传进去,访问浏览器的时候发现图片没有显示。经过一番测试我发现,原因貌似是这个linux不支持Unicode。

有以下几个现象:

  • "汉字.png"在终端会显示成"????.png"
  • 在MobaXterm中无法在终端中输入和显示汉字,例如echo 呵呵 ,终端只会显示一个空行,而且在输入呵呵两个字的时候也不会回显
  • nginx访问static/图片.png的时候,地址栏会变成static/????.png,而且图片访问失败,显示403

为了验证,我还开了个虚拟机装了一个linux,发现完全没有这些问题,一切正常,终端完全可以正常处理汉字,nginx也正常显示了汉字URL对应的图片资源。可见是我服务器的问题。

我的服务器配置为zh_CN.UTF-8区域,按道理显示Unicode是没问题的。VPS是OVZ类型的,装的是ubuntu 16.04,内核版本是2.6。不知道问题出在哪里,请教各位大神!

阅读 5.4k
2 个回答

安装language-pack-zh-hans,然后运行

dpkg-reconfigure locales

,然后选择zh-utf8

好像是中文文字字体包吧。不过,哪有用中文做文件名的,建议改掉这个习惯。
另外,ssh工具看看有没相关此类设置方法。

我是centos,然后用的putty,默认是utf-8,用过不少服务器和VPS,因为也没有中文做为文件名的习惯,所以并没碰到你这个问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏