JAVA常見中文問題的解決方案(轉)
JAVA常見中文問題的解決方案(轉)[@more@]JAVA常見中文問題的解決方法 以下解決方案是筆者在日常生活中遇到的,希望能對你解決JAVA中文問題有所幫助。 1.在jsp頁面首部加上 在servlet中使用httpServlerResponse.setContentTpye(“text/html; charset=GB2312”);可以避免一些中文問題 2.使用JDBC連線mysql資料庫時,連線字串寫成如下形式可以避免一些中文問題: jdbc://mysql://hostname:port/DBname?user=username&password=pwd& useUnicode=true&characterEncoding= iso-8859-1 如果是以資料來源的方式連線資料庫在配置檔案中使用: url jdbc:mysql://hostname:port/DBname? &useUnicode=true&characterEncoding=iso-8859-1 注意要使用&替換&符號,否則XML檔案在解析的時候會出錯。 3.從資料庫讀出的資料有可能是亂碼,遇到這種問題可以用如下方法解決: String desc = rs.getString(“desc”); desc = new String(desc.getBytes(“ISO-8859-1”),”GB2312”); 4.某個頁面提交中文內容給Servlet,Servlet要對提交的內容進行轉碼工作才能正確接收資料, 通常我們是在servlet中增加以下程式碼來解決問題。 httpServlerRequest.setCharacterEncoding(“GB2312”); 5. 在struts中,對資原始檔進行轉碼,使用JDK字帶的轉碼工具: >native2ascii -encoding BG2312 Myresource.properties Myresource_zh.properties 6.在struts中擴充套件org.apache.struts.action.RequestProcessor類,並覆寫其中的processPreprocess()方法: package com.mypro.action; public class MyProRequestProcessor extends RequestProcessor { protected boolean processPreprocess (HttpServletRequest request, HttpServletResponse response) { try { request.setCharacterEncoding(“GB2312”); //other code } catch(Exception e){} return true; } } 寫完上面程式碼別忘了修改struts-config.xml: 7. 用filter實現(推薦) package com.kefeiannan; import java.io.IOException; import javax.servlet.*; public class SetCharacterEncodingFilter implements Filter { protected String encoding = null; protected FilterConfig filterConfig = null; protected boolean ignore = true; public void destroy() { this.encoding = null; this.filterConfig = null; } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { if (ignore || (request.getCharacterEncoding() == null)) { String encoding = selectEncoding(request); if (encoding != null) request.setCharacterEncoding(encoding); } chain.doFilter(request, response); } public void init(FilterConfig filterConfig) throws ServletException { this.filterConfig = filterConfig; this.encoding = filterConfig.getInitParameter("encoding"); String value = filterConfig.getInitParameter("ignore"); if (value == null) this.ignore = true; else if (value.equalsIgnoreCase("true")) this.ignore = true; else if (value.equalsIgnoreCase("yes")) this.ignore = true; else this.ignore = false; } protected String selectEncoding(ServletRequest request) { return (this.encoding); } } 配置你站點下的web.xml,在後面加上 Set Character Encoding com.kefeiannan.SetCharacterEncodingFilter encoding UTF-8 Set Character Encoding /*
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-945985/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java™ 教程(常見問題及其解決方案)Java
- git 常見問題的解決方案Git
- 常見問題及解決方案
- Kafka常見的問題及解決方案Kafka
- WordPress:常見問題及解決方案
- 快取常見問題及解決方案快取
- Windows XP 19技常見問題解決方案大集合(轉)Windows
- Solaris 常見問題及解決方法(轉)
- RecyclerView的使用總結以及常見問題解決方案View
- 新手linux系統常見問題解決方案Linux
- 物聯網路卡常見問題及解決方案
- CrashSight 接入上報常見問題及解決方案
- 【FAQ】推送服務常見問題及解決方案
- 爬蟲專案常見問題及解決方案爬蟲
- iPhone 6/Plus常見使用問題及解決方案iPhone
- Q9使用常見問題及解決方案
- JSP顯示中文問題的解決方案(轉)JS
- As常見問題解決方法
- git常見問題解決Git
- 常見問題及解決
- jive中文問題解決方案
- Java環境變數配置的最佳實踐和常見問題解決方案Java變數
- 【FAQ】整合分析服務的常見問題及解決方案
- Java常見問題集錦(轉)Java
- SAP質量管理模組常見問題及解決方案
- react 記憶體洩露常見問題解決方案React記憶體洩露
- 移動端常見相容性問題解決方案
- Android應用安全常見問題及解決方案Android
- 軟體專案管理常見問題及解決方案專案管理
- 常見php與mysql中文亂碼問題解決辦法PHPMySql
- [Visual studio code 常見問題解決] ——中文亂碼、
- Git常見問題及解決Git
- loadrunner常見問題解決
- h5移動端常見的問題及解決方案H5
- 常見的高可用MySQL解決方案轉載MySql
- SOLIDWORKS常見使用問題解決方案 慧德敏學Solid
- keepalived 1.3.5常見配置以及常見問題解決
- java 常見問題Java