java亂碼
⑴ java 亂碼
這代碼有兩處會導致亂碼, 第一new InputStreamReader
的時候沒有指定編碼, 因此會使用平台默認字元編碼, Windows上, 在javase程序中可能是utf8, 在tomcat里可能是gbk, 下面的content.toString().getBytes()
也一樣, 需要手動指定具體編碼,
第二 你讀取到的網頁內容編碼未必是utf8的, 不能排除content-type=text/html;gbk的網頁, 所以你的編碼不應該寫死成utf8, 而應該根據獲取的網頁編碼動態設置
⑵ 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);
⑶ java文件中文亂碼問題
選中你的文件--右擊--屬性(properties)--text file encoding 有個default和other 這里選other 然後選UTF-8(你默認的可能是ISO-8859-1的)
然後你把文件中的亂碼改回中文 保存~ 這次就不亂碼了~
⑷ java中怎麼解決中文亂碼問題
您好,亂碼情況在編程中是常見的問題,您出現的亂碼是什麼情況下發生的,是編程好的javaweb頁面亂碼還是內部的參數亂碼呢?不論是什麼亂碼情況,Java幾乎都有他的解決方案,您需要由針對性的描述您的亂碼的情況是什麼。再根據您的情況具體的幫助您,希望能夠幫助到您。
⑸ java文件亂碼,不是中文亂碼,是整個都亂碼
我們在eclipse中打開java項目,發現中文都是亂碼。
首先我們可以打開工具菜單「Project」--「Properties」。
⑹ java程序中文漢字會亂碼
首先要加一個utf-8過濾器以過濾post提交亂碼問題;
再在tomcat的server.xml文件中配置<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="utf-8"/>
處理get提交亂碼問題;
注意在用了這2個配置後就不要再在程序中用getBytes對參數進行轉碼了
⑺ JAVA 亂碼 根本原因是什麼
java出現亂碼的原因是
.java 文件中的編碼格式和命令提示符的指令不一致導致的
比如.java 使用的是utf-8,windows環境下命令提示符編碼是gbk,在使用javac 命令進行對.java文件進行編譯的時候,.java文件中的中文字元就會出現 亂碼.
出現這樣的情況,處理方式是通過現在編譯編碼-encoding 處理
javac-encodingutf-8Test.java
⑻ java亂碼問題
把亂碼的字元串轉成位元組數組,然後再利用String的構造函數指定相應的charset。
比如:
new String(s1.getBytes(),"GBK");
⑼ java中文亂碼
主要是編碼差異,PrintWriter甚至整個Java IO默認會以UTF-8編碼輸出
你的網頁編碼必須設為UTF-8才能正確顯示其中的中文。
或者向PrintWriter傳入其他編碼的OutputStream,比如win默認的gbk編碼。
或者使用DataOutputStream靈活寫各種形式的數據。
⑽ Java亂碼的問題
你知道亂碼原來的編碼嗎,如果知道就先把它轉化回去如: byte[] b=str.getBytes("ISO-8859-1"); 一般的默認是ISO-8859-1形式的編碼 一般以POst方法