ホームページ >ウェブフロントエンド >jsチュートリアル >JS ファイル自体のエンコード変換グラフィックチュートリアル_JavaScript スキル
Baidu や Google で検索したところ、エンコーディングの問題は JAVA のバックグラウンド処理で解決できるとのことですが、これで JS ファイル自体のエンコーディングの問題は解決できるのでしょうか?
JSファイル自体のエンコードの問題が発生する理由は、JSファイルのエンコードが異なるため、中国語が文字化けして表示されるためです。
通常、Eclipse で JS ファイル (中国語を含む) を作成すると、Eclipse エディターで表示される中国語は正常ですが、Web ページ上で表示されると文字化けし、私のページはすべて UTF-8 を使用します。エンコーディング、このため、これは JS ファイル自体のエンコーディングの問題が原因である可能性があると考えました。
Eclipse では、JS ファイル内の中国語は正常に表示されます
Webページで中国語が文字化けして表示されます
これは JS ファイル自体のエンコードの問題が原因ではないかと思いましたが、実際にはその通りでした。ここでは、NotePad2 と呼ばれる小さなツールが使用されています。これは、第 1 世代の Notepad に相当します。この小さなツールは使いやすく、インストールする必要がありません。Windows システムに付属の Notepad ソフトウェアを完全に置き換えることができます。ダウンロード アドレスは次のとおりです: http://download.csdn.net/source/1732849
NotePad2 で JS ファイルを開き、JS ファイルのエンコーディングを確認すると、JS ファイルのエンコーディングは ANSI であることがわかります。ANSI エンコーディングは 1 文字を表すのに 0x80 ~ 0xFF の範囲の 2 バイトを使用します。たとえば、中国語の文字「中」は、中国語のオペレーティング システムでは 2 バイト [0xD6, 0xD0] を使用して格納されます。ただし、国や地域が異なると、異なる ANSI 標準が策定されているため、異なる ANSI コードには互換性がありません。皆さんご存知の通り、中国ではブラウザのエンコードがGBKかGB2312エンコードかUTF8エンコードになっており、ANSIでエンコードされた中国語をWebページに送信すると当然文字化けしてしまいますので、これが根本です。問題の。
NotePad2 ソフトウェアを使用して、JS ファイルのエンコードを UTF-8 エンコードに変換します。UTF-8 エンコードはコンピュータの汎用エンコードであり、ほぼすべての国や地域の言語とテキスト、およびブラウザをサポートできるためです。それ自体は UTF-8 エンコーディングをサポートしています。
さて、ブラウザでの効果を見てみましょう。明らかに、中国語表示は正常であり、コード化けの問題も解決されています。インターネットで言われているような「JS で encodeURIComponent や encodeURI メソッドを使用する」のとは違い、複雑でわかりにくく、複雑なプログラミングが必要になるため、あまりお勧めできません。
テスト後、新しいテキスト ドキュメントを使用して拡張子を .js に変更するか、他のソフトウェアやツールで作成した JS ファイルを使用するかにかかわらず、NotePad2 ソフトウェアを使用してファイルを開いてエンコードを確認しました。 JSファイルのデフォルトのエンコードはANSIなのでしょうか?もちろん、私はこれを検証していませんし、JS ファイルのデフォルトのエンコーディングが ANSI エンコーディングであることを証明できる関連情報はインターネット上にありません。これは単なる個人的な推測です。
しかし、少なくとも、JS ファイル内の中国語が Web ページ上で文字化けとして表示される場合は、この記事の方法を試してみると、問題が解決される可能性があります。