我們在開發JAVA程序的時候經常遇到亂碼的現象,可能新手對這些不沒有經驗,不是很了解它的出現是由于什么問題引起的,今天整理了幾個常用JAVA亂碼的處理方法,供大家參考一下,新疆軟件開發網搜集整理 。
1. Serlvet傳遞過來的參數的編碼不對:
解決方案:
a) 檢查Tomcat的conf/Server.xml的Connector Tag <Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='UTF-8' />
b) 檢查 doGet() 函數 request.setCharacterEncoding("UTF-8");
2. Hibernate遇到亂碼問題:
檢查:hibernate.cfg.xml中的 <property name="connection.url"> jdbc:mysql://localhost:3306/yidishui?useUnicode=true&characterEncoding=UTF-8 </property>
3. PreparedStatement, setString之后trace(prepStm)發現SQL變成亂碼了
解決方法: 1) 在setString的地方試著把自己的string的charset改成數據庫一樣的charset, (我試了很久,沒試出來,但應該是可行的) 2) 在創建Connection的時候,用上面解決方法中的帶有characterEncoding的url
4. 使用 newStr = new String( oldStr.getBytes("XXXXX"), "YYYY" ) 從XXXX將字符轉化成YYYY
|