java中亂碼怎么解決?很多人都不太了解,今天小編為了讓大家更加了解java中亂碼的解決辦法,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。
古城ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
java中亂碼的解決辦法
對于Java,由于默認的編碼方式是UNICODE,所以用中文也易出問題,常見的解決是:
String s2 = new String(s1.getBytes(“ISO-8859-1”),”GBK”);
1、utf8解決JSP中文亂碼問題
一般說來在每個頁面的開始處,加入:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% request.setCharacterEncoding("UTF-8"); %>
◆charset=UTF-8的作用是指定JSP向客戶端輸出的編碼方式為“UTF-8”;
◆pageEncoding="UTF-8",為了讓JSP引擎能正確地解碼含有中文字符的JSP頁面,這在LINUX中很有效;
◆request.setCharacterEncoding("UTF-8");是對請求進行了中文編碼。
有時,這樣仍不能解決問題,還需要這樣處理一下:
String msg = request.getParameter("message"); String str=new String(msg.getBytes("ISO-8859-1"),"UTF-8"); out.println(st);
2、Tomcat 5.5中文亂碼
只要把%TOMCAT安裝目錄%/ webapps\servlets-examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.class文件拷到你的webapp目錄/filters下,如果沒有filters目錄,就創(chuàng)建一個。
2)在你的web.xml里加入如下幾行:
<filter> <filter-name>Set Character Encoding</filter-name> <filter-class>filters.SetCharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>GBK</param-value> </init-param> </filter> <filter-mapping> <filter-name>Set Character Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
3)完成
2、get方式的解決辦法
1)打開tomcat的server.xml文件,找到區(qū)塊,加入如下一行:
URIEncoding=”GBK”
完整的應(yīng)如下:
<connector port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK" />
2)重啟tomcat,一切OK。
3、xmlHttpRequest中文問題
頁面jsp用的GBK編碼
代碼:
<%@ page contentType="text/html; charset=GBK"%>
javascript部分
代碼:
function addFracasReport() { var url="controler?actionId=0_06_03_01&actionFlag=0010"; var urlmsg="&reportId="+fracasReport1.textReportId.value; //故障報告表編號 var xmlHttp=Common.createXMLHttpRequest(); xmlHttp.onreadystatechange = Common.getReadyStateHandler(xmlHttp, eval("turnAnalyPage")); xmlHttp.open("POST",url,true); xmlHttp.setRequestHeader( " Content-Type " , " application/x-www-form-urlencoded); xmlHttp.send(urlmsg); } #p#
后臺java中獲得的reportId是亂碼,不知道該怎么轉(zhuǎn),主要是不知道xmlHttp.send(urlmsg);以后是什么編碼?在后面用java來轉(zhuǎn),試了幾種,都沒有成功,其中有:
代碼:
public static String UTF_8ToGBK(String str) { try { return new String(str.getBytes("UTF-8"), "GBK"); } catch (Exception ex) { return null; } } public static String UTF8ToGBK(String str) { try { return new String(str.getBytes("UTF-16BE"), "GBK"); } catch (Exception ex) { return null; } } public static String GBK(String str) { try { return new String(str.getBytes("GBK"),"GBK"); } catch (Exception ex) { return null; } } public static String getStr(String str) { try { String temp_p = str; String temp = new String(temp_p.getBytes("ISO8859_1"), "GBK"); temp = sqlStrchop(temp); return temp; } catch (Exception e) { return null; } }
以上就是java中亂碼怎么解決的詳細內(nèi)容了,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎來創(chuàng)新互聯(lián)行業(yè)資訊!
標(biāo)題名稱:java中亂碼怎么解決
標(biāo)題URL:http://jinyejixie.com/article30/ghhdso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、網(wǎng)站改版、域名注冊、網(wǎng)站制作、網(wǎng)站建設(shè)、手機網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)