1

我用 netbeans 6.7.1 编辑了几个 ISO-8859-15 编码的 php 源文件,但它把它们(没有问我!!!!)转换为 utf-8,在这个过程中我丢失了几个德语字符......

我正在寻找一种工具来查找目录中的所有 utf8 编码文件(我很难判断哪个文件已损坏)。

我还需要一个工具来翻译它们

我正在尝试使用 gedit 修复整个问题,它可以识别并尊重每个文件的字符集,但不会让我将 utf8 文件保存为 iso-8859-15,因为它说那里的字符不会被转换。 ..

所以,我需要:

  • 搜索 utf8 编码文件的工具

  • 一个允许我从一种编码转换到另一种编码的编辑器

  • 哦,是的!,一种告诉 netbeans 不要弄乱我的文件的方法!!!

(我已经尝试编辑 /etc/netbeans.conf 并添加 -J-Dfile.encoding=UTF-8 或 -J-Dfile.encoding=ISO-8859-15 没有运气) http://wp.uberdose .com/2007/05/07/netbeans-and-utf-8/ http://ditoinfo.wordpress.com/2007/02/26/netbeans-and-utf8-encoding-2/

多谢

编辑:

(嗯,我刚刚发现这个 http://wiki.netbeans.org/FaqI18nProjectEncoding 说要修改项目的字符编码,我会在这里尝试一下,它解释了 netbeans 所做的混乱

对于新的 IDE 安装,UTF-8 编码是新项目的默认编码,因为这种编码可以处理任何 Unicode 字符,使其成为大多数人的最佳选择。创建新项目时,IDE 最初默认为其提供与您设置编码的上一个项目相同的编码。如果您想要其他编码,只需在属性对话框中更改它。

我从现有的 php 源创建了一个新项目,我想这就是问题所在......)

4

1 回答 1

2

我会按顺序记下你的观点:

  • 如果你懂一点 python,我建议你去decodeh.py 看看。它将使用最小公分母的策略。因此,如果 iso-8859-15 文件的所有字符都不在 iso-8859-1 范围之外,则它们可能会被识别为 iso-8859-1。我已经在 utf-8、iso-8859-1 和 iso-8859-15 文件上尝试过它,它大多是正确的。它使用字节顺序标记和启发式来猜测编码。

  • 答案很简单:emacs。用于查看 emacs 认为是什么文件的编码。Emacs 在这方面从来没有让我失望过。用于设置应使用哪种编码将缓冲区写入文件。M-xdescribe-current-coding-systemM-x set-buffer-file-coding-system

  • 对于 netbeans 6.7,您可以为每个项目配置默认编码。打开项目后,转到File -> Project Properties,在左侧菜单中选择Sources,在右侧面板的底部,您将看到一个标题为“Encoding”的下拉框

于 2010-01-28T11:00:55.963 回答