当我将文件从本地 Mac 复制到远程 Ubuntu 服务器时,如何在终端中显示特殊字符?

当我将文件从本地 Mac 复制到远程 Ubuntu 服务器时,如何在终端中显示特殊字符?

当我将网页从本地计算机(Mac)复制到远程服务器(Ubuntu)时,文本中的特殊字符在浏览器中显示为方块,或在终端中显示为问号符号。

我尝试使用 scp 或 ftp 复制它们;同样的问题。

我检查了服务器上的语言:LANG=en_US.UTF-8。这似乎是正确的,而且无论如何都不应该成为问题,因为当我在服务器的终端中编辑文件时,特殊字符会正常显示。

已经搜索了几个小时,但找不到解决方案。有人有想法吗?

答案1

使用 UTF-8 可以解决很多问题,但您仍然必须使用 HTML 实体来表示保留的 XML 字符(& 符号、小于号、大于号)。因此,要么使用 HTML 实体,要么使用 HTTP 标头来提供网页,标明它是 UTF-8。这可以通过 HTML 标头或 META 标记来完成:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

或者,在 Ubuntu 网络服务器中更改默认编码:

阿帕奇:AddDefaultCharset utf-8

nginx的:charset utf-8;

在终端上,您知道服务器使用的是 UTF-8 ( locale),因此请确保您的 SSH 客户端设置正确。例如,如果使用 Putty,我们必须设置 Putty 的字符集:

油灰:Window->Translation->Remote character set: UTF-8

否则,它将使用 ISO-8859-1。

Putty翻译

并检查编辑器正在使用的格式。

file file.ext

如果编辑器正在编写 UTF-8 文件,我们应该看到“UTF-8 Unicode 文本”。

相关内容