2016-04-22 11 views
0

以外の言語でDBからのテキストを表示しません。英語ではないMySQLデータベースに格納されている実際のテキストではなく、テキストを正しく表示させるために何ができるのですか?私はcharsetとpageEncodingをUTF-8に変更しようとしましたが、それは役に立たなかった。JSPは、JSPはそれだけで疑問符(???? ..)を印刷し呼ばれたとき、私は私のJSP</p> <pre><code>... <% out.println(request.getAttribute("textFromDB")); %> ... </code></pre> <p>に次のコードを持って英語

答えて

0

エンコーディングはいいですか?データベースがUTF-8以外の文字セットに格納される可能性があります。または、データベースドライバが別のエンコーディングで動作するように設定されている可能性があります。または、サーバーの既定値が別のものになります。または、HTTP接続が異なるエンコーディングを想定しているため、文字セットの変更が遅すぎます。

すべてのレイヤーを調べる必要があります。すべてがうまく見えるかもしれないことを覚えておいて、すでに修復できないほどデータを混乱させてしまったデータベースへの長い書き込み操作でした。

+0

私がSystem.out.println(...)を書くと、私が望むようにテキストが印刷されますが、ブラウザには何も表示されません。 –

0
System.out.println(this.request.getHeader("Content-Encoding")); //check the content type 

String data = new String(this.request.getParameter("data").getBytes("ISO-8859-1"), "UTF-8"); //this way it is encoded to byte and then to a string 

上記の方法が動作didntの場合はそれがcharacters to "UTF-8"

または

をエンコードする場合は、あなたのtomcatに= "UTF-8" はURIEncodingを設定することができますdatabase に確認したいかもしれませんセットアップとちょうど(request.getAttribute("textFromDB"));残りを行います。

+0

this.request ...エラーを返すrequest.getHeader(..)はnullを返します。 –

+0

getヘッダーはリクエストの本文のMIMEタイプを返します。タイプが不明の場合はnullを返します。 – Priyamal

関連する問題

 関連する問題