PrintWriter
ブラウザで出力を取得するために次のように使用しています。
PrintWriter pw = response.getwriter();
StringBuffer sb = getTextFromDatabase();
pw.print(sb);
ただし、これは次の中国語のジャンク文字を出力します。
格㸳潃浭湥獴⼼㍨‾琼扡敬㰾牴戠奉納汯牯✽䔣䔷䔷❆㰾摴倾獯整湏›〱㈭ⴷ〲〱ㄠ㨴㌰㌔㨡祂›教桳楮縠歡⠊湹祡歡捀獩潣挮浯硅散汬湥㱴琯㹤⼼牴㰾牴戠奉納汯牯✽䔣䔷䔷❆㰾摴㰾琯㹤⼼牴㰾牴户䱣户䱔䯔且且且且且且且且且䯔且且䯔且乔摴倾獯整湏›〱㈭ⴷ〲〱ㄠ㨴㐰ㄺ祂›教桳慷瑮丠祡歡⠊湹祡歡捀獩潣挮浯敶祲朠潯㱤琯羰㹉㹼汯牯✽䔣䔷䔷❆㰾摴㰾琯㹤⼼牴㰾牴戠奉献汯牯✽䔣䔷䔷❆㰾摴倾獯整湏›〱㈭ⴷ〲〱ㄠ㨴㜱挺稸਼教楂›丠祡歡⠊湹祡歡捀獩潣挮浯桔獩椠潴琠獥㱴琯㹤⼼牴㰾琯扡敬㰾牢⼠‾格㸳潐瑳夠畯潃浠湸楠㹤瑣潩㵮䌢浯敭瑮即牥汶瑥•敭桴素直∽敧≴渠浡㵥敬挢浯敭瑮潆浲•湯畳浢瑩∽爠瑥牵慖楬慤整潆浲⤨∼†眠摩桴∽〳∰栠楥桧㵴㌢〰㸢ठ琼㹲琼㹤氼扡汥映牯∽θ敭㸢潃浭湥㩴猼慰霊汣獡㵳洢湡呤汃獉瞳⨾⼼汥㰾牢㸯琼硥慴敲θ敭∽潣瑮湥≴椠㵤挢浯敭瑮硔䅴敲≡挠慬獳∽整瑸牡蠣慥氠牡蠣敧•潣獬∽㠲•潲獷∽整∼∼∼瑸牡蠣慥㰾琯㹤⼼牴㰾牴㰾摴㰾慬敢潦㵲渢浡≥举浡㩥猼慰霊汣獡㵳洢湡呤汃獡≳⨾⼼灳湡㉑灳湡㉑灳港港港椠㵤渢浡≥琠灹㵥琢硥≴渠浡㵥渢浡≥挠慬獳∽θ敭•慶畬㵥∢洠硡敬杮桴∽㔲∵†楳敺∽㘳⼢㰾琯羰㉼摴㰾慬敢潦㵲攢慭汩㸢ⵅ慍汩㰺灳湡挠慬獳∽慭摮䍔慬獳㸢㰪猯慰謝㹮⼼慬㹬戼⽲㰾湩異≴摩絡絥楠≡絥楠硥≴渠浡㵥攢慭汩•汣獡㵳攢慭汩•慶畬㵥∢洠硡敬杮桴∽㔲∵†楳敺∽㘳⼢㰾琯㹤⼼牴㵰牴㹾攢慭汩㹠琁㰁繠㹠猢扵業≴†θ敭∽潰瑳•慶畬㵥倢獯≴㸯⼼摴㰾琯㹲⼼慴汢㹥⼼潦浲
String
の代わりに使用しようとしましStringBuffer
たが、役に立ちませんでした。また、次のようにコンテンツタイプヘッダーを設定しようとしました
response.setContentType("text/html;charset=UTF-8");
応答ライターを取得する前に、それも役に立ちませんでした。
DBでは、同じデータを2つの異なる目的で使用したため、データに問題はありません。ある場合は正しい出力が得られますが、他の場合は上記のジャンクが得られます。スクリプトレットを使用して、JSP で上記のコードを使用しました。また、JSP のコンテンツ タイプも指定しました。