1

私はいくつかの国際化の問題を抱えています:

UTF-8 文字列フィールドがブラウザーで ???? としてレンダリングされています。データベースから返された後。

Hibernate を使用してデータベースから取得した後、Eclipse デバッガーを使用して検査すると、文字列フィールドが正しく表示されます。

ただし、Struts2/Tiles はこれらの文字列を ???? としてレンダリングしています。ブラウザに送信される HTML 内。

charset ディレクティブは HTML ヘッダーにあります。

おそらく、struts2 または tiles 構成に何かを追加する必要がありますか?

4

4 に答える 4

1

OMG - it turns out that the cause was a total WTF?

all our tile responses were being served by a homegrown servlet that was ignoring the

<%@ page contentType="text/html; charset=UTF-8" %>

directive (and who know what else).

TilesDispatchExtensionServlet : bloody architecture astronauts, i shake my fist at ye.

于 2008-09-17T00:45:27.157 に答える
0

<html/> 要素に lang 属性を設定してみてください。

HTML の例:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">

XHTML の例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
于 2008-09-11T11:54:19.613 に答える
0

このようなことを試すことができます。

これは、Sun のCharacter Sets and Encodingsのページから取得したものです。これはjspの最初の行でなければならないと思います。

<%@ page contentType="text/html; charset=UTF-8" %>
于 2008-09-11T14:05:28.127 に答える
0

フィルターを使用する必要があります。見る:

http://wiki.apache.org/tomcat/Tomcat/UTF-8

于 2008-10-22T01:52:21.900 に答える