0

我在那里搜索了很长时间,但没有任何有用的结果。

我正在 Ubuntu 11.04 VM 上使用 eclipse 开发一个 PHP 项目。每件事都很好。我从来不需要寻找文件编码。但是在将项目部署到我的服务器后,所有内容都以错误的编码显示。使用 Notepad++ 手动转换为 UTF8 后,我的问题就解决了。

现在我也想在我的 Ubuntu VM 中更改它。这就是问题所在。我检查了 Eclipse 中的首选项,但每个属性都设置为 UTF8:常规内容类型、工作区、项目设置、所有内容......

如果我在终端上查找编码,它会显示“test_new.dat: text/plain; charset=us-ascii”。所有文件都保存为 ascii 格式。如果我尝试使用终端(“触摸”)创建一个新文件,它也是一样的。

然后我尝试使用 iconv 转换文件:

iconv -f US-ASCII -t UTF8 -o test.dat test_new.dat

但编码不会改变。特别是 PHP 文件似乎是有抵抗力的。我的项目中有一些 *.ini 文件可以进行转换?!

知道该怎么做吗?

这是我的 Ubuntu 语言环境设置:

LANG=de_DE.UTF-8
LANGUAGE=de_DE:en
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=
4

2 回答 2

1

我也想知道字符编码,并在这里发现了一些可能有用的东西。

当我在我的 ubuntu 12.04 上创建一个新的空 .txt 文件并要求其字符编码为:“file -bi filename.txt”时,它向我显示:charset=binary。打开它并在里面写一些像“哈哈”这样的东西后,我使用“另存为”保存了它,并明确选择了 UTF-8 作为字符编码。现在很奇怪,再次询问后它没有显示 charset=UTF-8,而是返回了 charset=us-ascii。这似乎已经很奇怪了。但它变得更加奇怪,当我再次执行整个操作时,但这次在文件中包含了一些德语特定字符(在本例中为ä)并再次保存(这次没有另存为,我只是按了保存)。现在它说 charset=UTF-8。

因此,如果不需要 UTF-8,似乎至少 gedit 正在检查文件并从 UTF-8 降级到 us-ascii,因为可以使用 us-ascii 对文件进行编码。

希望这会有所帮助,即使它与 php 无关。

问候

于 2013-04-16T16:15:44.313 回答
0

UTF-8 与 ASCII 兼容。因此,ASCII 文本文件也是有效的 UTF-8,从 ASCII 到 UTF-8 的转换是无操作的。

于 2013-04-16T09:34:15.550 回答