Stuts2 Tiles Tomcat が UTF-8 を変更した疑いがある?
-
09-06-2019 - |
質問
国際化に関していくつかの問題があります。
UTF-8 文字列フィールドがブラウザで ???? として表示されます。データベースから返された後。
Hibernate を使用してデータベースから取得した後、Eclipse デバッガーを使用した検査で String フィールドが正しく表示されます。
ただし、Struts2/Tiles はこれらの文字列を ???? としてレンダリングします。ブラウザに送信される HTML 内。
charset ディレクティブは HTML ヘッダーに存在します。
おそらく struts2 またはタイル構成に何かを追加する必要があるでしょうか?
解決
このようなことを試してみてはいかがでしょうか。
サンのページより抜粋 文字セットとエンコーディング。これは JSP の最初の行でなければならないと思います。
<%@ page contentType="text/html; charset=UTF-8" %>
他のヒント
ああ、原因はまったくのひどいものだったことが判明しましたね?
すべてのタイル応答は、
<%@ page contentType="text/html; charset=UTF-8" %>
ディレクティブ(そして他に何があるかは誰にもわかりません)。
TilesDispatchExtensionServlet
:血まみれの建築宇宙飛行士よ、私はあなたたちに向かって拳を振ります。
<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">
フィルターを使用する必要があります。見る:
所属していません StackOverflow