ホームページ  >  記事  >  バックエンド開発  >  Xiaotan Vim はファイルの先頭で を開きます

Xiaotan Vim はファイルの先頭で を開きます

WBOY
WBOYオリジナル
2016-08-08 09:19:371219ブラウズ

ローカルの Windows マシンで開発した PHP プログラムを Linux サーバーにアップロードした後、ブラウザ経由で対応するインターフェイスにアクセスしたところ、返されたデータの前に不可解な文字「-」があることに気づき、非常に困惑しました。その後、ネットワーク パケット キャプチャを通じて、インターフェイスがデータを返す前にさらに多くの EF BB BF が存在することがわかりました。このようなバグが明確な理由もなく発生するのは、常に非常にイライラさせられます。何度か試しても解決できませんでしたが、漠然と文字コードの問題ではないかと思い、PHPStormを使って新しいファイルを作成し、以前バグっていたファイルの内容を書き換えました(幸いなことに、大きすぎませんでした。svn を使用している場合は、ファイルを以前のバグのないバージョンにロールバックしてから、再度アップロードする必要があります。問題は実際に解決されました。理由を掘り下げることなく、喜んであきらめました。 Gさんは当初バグは解消されたと思っていたのですが、その後またバグに遭遇してしまい、耐えられなくなってしまいました。今回は、コードはローカル マシン上で変更されず、サーバーに再アップロードされます。代わりに、コードは vim を使用してサーバー上で直接開かれ、1 行ずつ表示されます。その結果、vim ファイルのヘッダーに余分な「」文字が表示され、これが原因だと直感しました。そこで私たちは のキャラクターをさらに調査しました。

ここでは、まず utf8、utf16、および utf32 エンコーディングについて説明します。このエンコーディングは複数のバイトに対応するため、通常、utf16 と utf32 は内部エンコードされた単語を識別するために BOM (バイト オーダー マーク) を使用します。エンディアン (ビッグ/リトル エンディアン)、および utf8 は、BOM の有無にかかわらず追加できます。一般に、使用するエディターの utf8 エンコードでは BOM 識別子は追加されませんが、Windows のメモ帳では utf8 でエンコードされたファイルの前に BOM 識別子が追加されます。この BOM ロゴは、Linux 環境で vim を開いた後に表示される 文字に対応します。 文字は 、PHP がそのようなファイルを解析すると、この文字が出力され、上記のバグが発生します。

PS: utf8 でエンコードされたコードを開いたり編集したりするのにメモ帳を使用することは減らした方が良いです。これは大変な教訓です。 ! !

著作権声明: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。

上記は、Xiaotan Vim によって開かれたファイルの先頭にある

を、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。