2

PostgreSQL データベースに格納されているトルコ語の文字を、含めた JSP ページに表示したいと考えています<meta http-equiv="content-type" content="text/html;charset=utf-8" />

画面に実際のトルコ語の文字セットがまだ表示されません。データベースでは、文字列は次のように保存されます%C4%9F%C4%B1%C4%B0%C3%B6%C5%9F%C3%BC%C4%9F%C4%B0

を使用して PostgreSQL からフェッチするとresultsetwrapperobject.getstring("columnname");、次のような文字列に自動的に変換されます。\304\237\304\261\304\260\303\266\305\237\303\274\304\

この自動変換が発生する理由と、この変換を停止する方法を知りたいです。

4

1 に答える 1

2

「resultsetwrapperobject」クラスのコードを調べてもらえますか? 実装が、デフォルト (または特別な) エンコーディングでバッファリングされたリーダーを使用している可能性があります。

使用できます

public String(byte bytes[], String charsetName)

文字列を変換するため

final String charSet = "UTF8"; // or "ISO-8859-1"
String tSrt = resultsetwrapperobject.getstring("columnname");
tStr = new String(tStr.getBytes(),charSet);

Java のデフォルト フィールド エンコーディングを Java システム プロパティとして設定することもできます。

-Dfile.encoding=UTF8

于 2011-10-12T11:37:24.067 に答える