我使用PrintWriter
如下方式在浏览器中获取输出:
PrintWriter pw = response.getwriter();
StringBuffer sb = getTextFromDatabase();
pw.print(sb);
但是,这会打印以下中文垃圾字符:
格潃潃捵稵筴整渥獴⼥獴⼉牨购整戠扡敬㰨牴戠扡敬㰨牴戠扡敬㰨牴戠扡敬㰨牴戠扡敬㰨牴戠扡扡敬㰨牴戠扦扡敬㰨牴戠扦扡敬㰨牴戠摴倾獴牉䔣䔷丽䔣䔷丕湏›〱㍷牨贷⡌〲〱ㄠ稲桌㡌〲〱ㄠ牴㡌〲〱ㄠ牴㡌㡌㡰㔺›欢⠊湹祡欢捀獩潣挮浯硅散汬湥㱴琯㹤⼼牴㰾牴戠捧汯牯✽䔣䔷䔷❆㰾摴㰾琯㹤⼼牴㰾牝戠捧汯牔✽㈠捧汯牯✽摴倾獯整⠊湹祡整⠊湹祡捀獩潣祡浯敶祲扜浔浔浔㉠ㄺ扪扷桠㠀ㄺ洍扷桳桳类瑮丠硥欢⠊湹祡欢⠊湹祡浯敶祡洵浔敶祲洵浔浔浔㱤琮洉洠浔浔㱤琮洲浔浔⼼汯牯✆㽜丣䔷䔷❆罜䰾⑴㰾琯扴教戠捧汯牯✤氾摴倾獯✤湏›〱㑈㈤湏›〱㑈扪戠戠捧汯牯✤氾摴倾獯ਁ湏›〱㈮つ湏›〱㈑丠祡欢⠊湹祡欢捀獩潣挮浯桔獩椠潴琠獥㱴琯㹤⼼牴㰾琯扡敬㰾牢⼠‾格㸳潐瑳够畯潃浭湥㽴潴浯㸳㰰潩㵮琼䌢浯敭瑮即牥汶瑥•敭桴牵挚∽敧≴渠浡㵥挢浯敭瑮潆浲•汤畳浢莹∽爠瑥慖楬慤整潆浲⤨∻‾扡敬†眠摩桴∽〳∰栠楥桧㵴㌢〰㸢ठ琼㹲琼㹤氼扡汥牯∽映虑敭㸢潃浭湥㩴猼慰湥㩴猼慰汣獡㵳洢湡声道汃硳洢湡声道汃硳洢湡声道汃硳扳⾾⼼桢汥㰾牢㸯琼硥敲击虑敭∽潣瑮湥≴椠㵤挢浯敭瑮硔䅴敲≡挠慬獳∽整瑸牡慥氠牡敧•潣獬∽㠲•潲犷∽㸠∶⼼整瑸牡慥㰾琯㹤⼼牴㰾牴㰾摴㰾慬夸潦㵲沨浡≥举浡㩥猼慰汣獡㵳洢湡湿地汃獡≳⨾⼼灳湡㰾扡扡漥㰾㸯椠㵤沨浡≥琴灹㵥琢硥≴浡㵥沨浠≥挠慬獳∽虑敭•庆畲㵥∢洠硡敬杮桴∽㔲∵†楳驱∽㘳⼢㰾琯㹤⼼牴㰾牳摴㰾慬敢潦㵲攒慭汩㸢ⵅ愠汩㰺灳湡挠慬獳∽慭摮䍔慬獳㸢㰪猯慰㹮⼠慬㹬戼⽲㰾湩⁴摩∽浥楡≬硥≴渠浡㵥攒慭汩•汣獡㵳攒慭汩•庆畲㵥∢洠硡敬杮桴∽㔲∵†楳驱∽㘳⼢㰾琯㹤⼼牴㰾祴㰾摴㰾㹩⁴琠牴猢扵业≴†虑敭∽溃瑳•庆畲㵥倢獯≴㸯⼼摴㰾琯㹲⼼避汢㹥⼼潦浲
我尝试使用String
而不是StringBuffer
,但这没有帮助。我还尝试将内容类型标头设置如下
response.setContentType("text/html;charset=UTF-8");
在得到响应作者之前,但这也没有帮助。
在数据库中,数据没有问题,因为我将相同的数据用于 2 个不同的目的。在一个我得到正确的输出,但在另一个我得到上面的垃圾。我在 JSP 中使用 scriptlet 使用了上述代码。我还给出了 JSP 的内容类型。