AJAX呼び出しでサーバーからデータを取得し、responseDiv.innerHTMLを使用して結果を表示しようとしています。サーバーからのデータは、za \ u010Dat testなどのUnicode要素で部分的にエンコードされています。応答divのinnerHTMLを設定することで、これはそのまま表示されます。つまり、Unicodeはブラウザで実際の表現に変換されません。AJAX/innerHTMLを使用して部分的にUnicodeでエンコードされたデータを表示する
含まれるページの文字セットがUTF-8に設定されています。私はユニコード表現をHTMLエンティティに変換するなど、他の多くのことを試しましたが、どちらもうまくいかないようです。
また、サーバーからのテキストにはHTMLタグが混在していることにも言及する必要があります。 HTMLタグは、そうするべきです。たとえば、サーバーからのテキストが<b>Bold this!</b>
の場合、テキストは太字になります。
助けてください。 '&#x010D;'
ビクラム
Hmm ..テキストはデータベースに保存されているので、おそらくサーバーに送信する前にUnicodeからHTMLEntityへのコンバータを実行することができます。代わりにクライアント側のUnicode部分のみを変換する方法はありますか? –
は代替案で回答を更新しました。応答を文字列として扱うようにjavascriptを強制します。 – russau
良い提案。唯一の問題は、データには文字列を含むHTMLが含まれていることです。したがって、データには次のようなマークアップが含まれています。こんにちはリンク:hereなどです。これにより、Javascriptは、評価を行う際に終わりのない文字列リテラルエラーをスローします。 –