1

サーバーから UI ページに json の形式で送信される utf-8 データを入力したいと考えています。

「jsonStr」にはutf-8データがあることがわかります。Eclipse のデバッグモードで確認しました。

しかし、json変数の値を見ると、「????」と表示されています。

これは私が使用したコードスニペットです

 <script  language="JavaScript" charset="utf-8">
var json = <%=jsonStr%>
</script> 

誰かがこの問題で私を助けてくれますか?

jQuery コード スニペットでも問題ありません

4

2 に答える 2

2

問題は、サーバーがデータを utf8 として送信していない可能性があります。使用しているサーバー側の言語はわかりませんが、これは私が PHP で行っていることです。

/**
 * encodes a string / array values to utf8
 * @param (mixed) $mixed
 */
static function utf8Encode( $mixed ) {
    if( is_array( $mixed ) ) {
        foreach( $mixed as $key => $value ) {
            $mixed[$key] = self::utf8Encode( $value );
        }
    } else {
        if( !mb_check_encoding( $mixed, 'UTF-8') ) {
            $mixed = utf8_encode( $mixed );
        }
    }

    return $mixed;
}
于 2012-05-23T13:44:46.253 に答える
1

JSP ページの先頭に次の行を追加して、UTF-8 を使用して応答本文を記述するように JSP に指示します。

<%@page pageEncoding="UTF-8" %>

単一の JSP ページごとにこれを繰り返さないようにするためにweb.xml、次のように構成して、すべての単一の JSP に自動的に適用されるようにすることもできます。

<jsp-config>
    <jsp-property-group>
        <url-pattern>*.jsp</url-pattern>
        <page-encoding>UTF-8</page-encoding>
    </jsp-property-group>
</jsp-config>

ページが HTTP 経由で提供される場合、HTML メタContent-Typeタグは無視されることに注意してください。ページがクライアントのディスクに保存され、file://URL によってそこから再度開かれた場合にのみ使用されます。

以下も参照してください。

于 2012-05-23T13:49:18.350 に答える