我正在編寫一個jsp頁面,其中我想確定請求參數的字符編碼。這是我的代碼:使用org.mozilla.universalchardet.UniversalDetector的例外
String name= request.getParameter("hey");
UniversalDetector detector;
try{
detector = new UniversalDetector(null); //Exception is thrown here
detector.handleData(name.getBytes(), 0, name.length());
detector.dataEnd();
String encoding = "s";//detector.getDetectedCharset();
if (encoding != null) {
out.println("Detected encoding = " + encoding);
} else {
out.println("No encoding detected.");
}
detector.reset();
}catch(Throwable e3)
{
out.print("Error: Jasper Exception >>"+e3.getMessage()+"<br>");
}
在第二行(我提到)拋出異常。在捕捉印刷錯誤是:
Error: Jasper Exception >>org/mozilla/universalchardet/prober/CharsetProber
我該怎麼辦?
我編輯了我的問題,並解決了你所說的try/catch問題。我只想知道請求參數的編碼 – Saeed
如果你閱讀我的答案,你會明白這是不可能的。您可以強制容器使用給定的編碼,儘管使用設置編碼的過濾器,但在讀取任何參數之前。閱讀http://java.sun.com/developer/technicalArticles/Intl/HTTPCharset/ –