1

ワークスペース内のすべての PHP ファイルは、Unicode (UTF-8、BOM なし) でエンコードされています。新しいスクリプトのベースとして使用するために、既存のソース ファイルを複製することがよくあります。必ず (Path Finder または元の Finder を使用して)、OS X は複製ファイルのエンコーディングをWestern (Mac OS Roman)に変換します。

テキスト ファイルを複製するときに、OS X を動作させ、テキスト エンコーディングを変換しないようにする方法はありますか? または、拡張子が .php のすべてのファイルに対して、デフォルトで特定のテキスト エンコーディング (Western 以外!) を使用するようにしますか?

4

3 に答える 3

3

あなたが見ている「変換」が、ファイルの 2 つのコピーの実際の違いであるとはとても思えません。OS X はファイルのコンテンツのエンコーディング値を保存しないため、Xcode、TextWrangler など、ファイルの表示/編集に使用しているツールがコンテンツを異なる方法で解釈している可能性が高くなります。使用している他のエディター。Finder、Path Finder、またはコマンド ラインからファイルを直接コピーしても、コピー中にファイル内の実際のデータが変更されることはありません。

0x7f より上の文字がなければ、UTF-8 と Mac OS Roman は実際には同じなので、BOM のない有効な UTF-8 ファイルが Mac OS Roman ファイルとして解釈される可能性は非常に高いです。いずれにせよ、OS X自体のファイルコピー手順ではなく、解決策を見つけるためにそのエンコーディングを示しているプログラムを調べます。

于 2008-10-24T18:17:09.933 に答える
2

-[NSString writeToFile:...]OS X には、ファイルと一緒にコピーされない可能性がある、または同様の機能を介して作成されたテキスト ファイルのファイルのエンコーディングを格納する拡張属性が実際にあることに注意してください。

于 2008-10-25T21:37:38.473 に答える
1

Finder を使用してファイルをコピーしていますか、それとも他のツール (IDE) を使用していますか?

Finder を使用してコピーしない場合、元のファイルのリソース フォークに拡張された Finder メタデータが含まれている可能性があります。

-W

于 2008-10-25T21:21:28.820 に答える