【发布时间】:2021-03-08 09:02:36
【问题描述】:
我无法更改已安装 XAMPP 且位于 AWS EC2 实例上的 ubuntu 服务器(版本:Ubuntu 18.04.5 LTS)上文件的文件编码。我以 root 身份登录,可以编辑、更改和删除文件。我以 root 身份登录,文件的所有者是 root。
我尝试了不同版本的 iconv:
iconv -f US-ASCII index.php -t ISO-8859-1 > indexisoiso.php
iconv -f utf-8 -t iso-8859-1 index.php
iconv -c -f US-ASCII -t ISO-8859-1 index.php > indexindex2.php
创建了新文件并且没有显示错误,但是,当我再次检查文件编码(“file --mime-encoding index.php”或“chardet index.php”)时,它又回到了 US-ASCII。
我也试过改vim中的编码,还是不行:
:写++enc=iso-8859-1 index.php
我在 Visual Studio 中通过 SSH 连接到我的 EC2。我可以(在授予自己权限后)在那里更改文件编码并保存文件。但是,当我关闭并重新打开文件时,它又回到了 US-ASCII(实际上,在 VS 代码中,它显示“UTF-8”。从我读到的“UTF-8”和“US-ASCII”对我来说是相等的目的)。
有谁知道为什么我不能在我的 ubuntu 服务器上更改文件的编码?有没有人遇到过类似的问题?
【问题讨论】:
-
什么字符有问题?你从哪里读到 UTF-8 和 US-ASCII 是相等的?
-
我不确定哪个字符有问题。我输入命令,它跳到我的终端中的新行,当我再次检查编码时,它就是以前的样子。当我使用只写有“hello”的文件时也是如此。我尝试了 iconv,但是所有生成的文件都有“US-ASCII”。
-
例如这里:stackoverflow.com/questions/11303405/…(引用:“ASCII 是 UTF-8 的子集,所以所有 ASCII 文件都已经 UTF-8 编码。”)
标签: ubuntu encoding terminal character-encoding