0

Glassfish サーバー 3.1.2 を使用して、Eclipse indigo で JSF と Spring を使用して Web アプリケーションを構築しています。すべてが順調に進んでいますが、2 つの JavaScript ファイルの firebug でこのエラーが表示されていますここに画像の説明を入力

これらのファイルをチェックインすると、それらのファイルに不正な文字は見つかりませんでしたが、firebug はまだこれを示しています。
これらのファイルをASP.Netプロジェクトの1つで使用しましたが、混乱していなかったので、両方のプロジェクトのコンテンツタイプをチェックして一致させたところ、ASP.Netプロジェクトでこれらのファイルにあることがわかりました

コンテンツ タイプ = アプリケーション/x-javascript

そして、私のJSP-Spring(JAVA)プロジェクトには

Content-Type = text/javascript;charset=ISO-8859-1

これです。sames ファイルのコンテンツ スキームが変更されていることがわかります。このスキームはglassfishサーバーの構成で変更できることがわかりました。そのため、JSファイルcontent-TypeをASPタイプと同じに変更したいと考えています。
Glassfishサーバーからスキームを変更する以外に解決策が見つからなかったため、誰かが他の解決策を持っている場合は共有してください
ありがとう

4

1 に答える 1

1

見ている奇妙な文字は UTF-8バイト オーダー マークです。これらは、ドキュメントがどのようにエンコードされているかを示す特殊なバイト セットです。残念ながら、 ISO-8859-1と解釈すると、問題が発生します。これを解決するには 2 つの方法があります。

最初の方法は、出力文字セットを UTF-8 に変更することです。これは、サーバー構成、web.xml 構成、またはコードで HTTP 要求オブジェクトに文字セットを設定することで実行できると思います。例えば:yourServletRequest.setCharacterEncoding("UTF-8");

2 つ目の方法は、Javascript ファイルからBOMを削除することです。これを行うには、それらをNotepad++で開き、Encoding > Convert to ANSIに移動してから保存します。または、メモ帳で開き、[名前を付けて保存] に移動して、保存する前に [エンコード] オプションが ANSI に設定されていることを確認します。Javascript ファイルにISO-8859-1以外のテキストが含まれていると、問題が発生する可能性があることに注意してください。

于 2012-09-06T20:37:22.913 に答える