14

サーバーからブラウザーに XML でデータを転送する Web アプリケーションに取り組んでいます。

私はデンマーク人なので、すぐにキャラクターの問題にぶつかりますæøå

私は、html で"æøå"forを使用していることを知っていæøåます。

ただし、文字がJavaScriptを通過するとすぐに、を"?"使用すると黒いボックスが表示されæøå"æøå"そのまま印刷されます。

utf-8に設定しましたが、あまり役に立ちません。

理想的には、(自然に)特殊文字で動作することを望みます。

動作しない例を以下に示します。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
        <script type="text/javascript" charset="utf-8">
            alert("&aelig;&oslash;&aring;");
            alert("æøå");

        </script>
    </head>
    <body>
    </body>
</html>

私は何を間違っていますか?


OK、Grapefrukts の回答のおかげで、うまくいきました。

MySQLサーバーからのデータには実際に必要でした。ファイルを UTF-8 エンコーディングで保存しても静的コンテンツの問題のみが解決されるため、PHP を使用して抽出した MySQL サーバーからの文字列の解決策を含めたいと思います。

utf8_encode($MyStringHere)

4

6 に答える 6

24

応答エンコーディングを設定できない場合\uは、JavaScript 文字列リテラルでエスケープ シーケンスを使用してこれらの文字を表示できます。

alert("\u00e6\u00f8\u00e5")
于 2008-09-28T00:38:30.543 に答える
12

ヘッダーに UTF-8 を指定するだけでは不十分です。ファイルを UTF-8 で保存していないと思います。ある程度高度なテキスト エディタには、このオプションがあります。それを試してみてください。きっとうまくいくでしょう!

于 2008-09-13T20:39:25.840 に答える
7

String.fromCharCode()を使用して、数値エンティティから文字を出力することもできます。

たとえばString.fromCharCode( 8226 )、弾丸文字を作成します。

于 2008-09-15T21:43:22.470 に答える
1

このようなコードをタイ語で使用します。大丈夫だよ。

$message私のPHP変数です。

echo("<html><head><meta charset='utf-8'></head><body><script type='text/javascript'>alert('" . $message . "');</script></body></html>");

これが役立つことを願っています。ありがとうございました。

(システムが「評判が足りない」と言って、私がやったことの画像を投稿できないので、ここに画像を残します. http://goo.gl/9P3DtIご迷惑をおかけして申し訳ありません。)

私の弱い英語でごめんなさい。

于 2013-07-25T23:31:08.730 に答える
1

「æøå」と表示されます 最初のものと次のいくつかのジャンク文字。JavaScript が文字をマングリング (またはモジバケ) していないのに、警告ダイアログがシステムの既定のフォントを使用しており、フォントが文字を表示できない可能性がありますか?

于 2008-09-13T20:35:54.710 に答える
0

これは私にとって期待どおりに機能します:

alert("&aelig;&oslash;&aring;");

... 文字列「æøå」を含むアラートを作成します 一方

alert("æøå");

... ASCII 以外の文字でアラートを作成します。

Javascript はかなり utf-8 クリーンであり、邪魔になる傾向はありません。

たぶん、これを ISO-8859-1 として提供する Web サーバーに置いているのでしょうか? Apache を使用している場合は、Apache 構成ファイル (またはオーバーライドできる場合は .httaccess) に次の行が必要です。

AddCharset utf-8 .js

(注:アンパサンドをエスケープするように編集されています...そうでなければ意味がありませんでした。)

于 2008-09-13T20:25:35.297 に答える