導航:首頁 > 操作系統 > android中文轉碼

android中文轉碼

發布時間:2022-06-19 08:52:22

『壹』 android 使用volley時怎樣改變參數的encode編碼

IE、Firefox、Opera三種瀏覽器對URL的傳輸的處理各不相同,瀏覽器在傳輸URl時得對URL進行編碼,IE默認是以UTF-8來傳輸的,Opera可能也是以UTF-8編碼的,Firefox經過測試肯定不是以UTF-8來編碼的,有可能是以ISO-8859-1來編碼的。所以如果不對中文進行處理,那麼中文字元經各個瀏覽器以自己的編碼方式傳輸到伺服器後就出現了各種編碼方式,而伺服器卻只能以一種編碼方式來對接收到的URL進行解碼。這樣的話,和伺服器使用的編碼方式一樣的瀏覽器在使用帶中文的URl時不會出現問題,其他的瀏覽器則會出現問題。

所以解決的辦法就是在URL進行傳輸之前對其中的中文進行編碼,使用的編碼是和伺服器一樣的編碼,假設伺服器使用的編碼是UTF-8,則編碼語句如下:URLEncoder.encode("中文","UTF-8")。這樣對中文進行編碼後所有的瀏覽器都不會再用他們默認的編碼方式對中文進行編碼,因為此時瀏覽器看到的已經不是中文了,而是編碼後的位元組碼。這樣就避開了瀏覽器傳輸URL時編碼的差異性問題。

對中文參數問題的解決方式和上面一樣。但這里所指的中文參數是指以?name="中文參數"方式附在URL後,以get方法傳輸到伺服器的這種形式,並不是以表單形式提交到伺服器的。各瀏覽器對中文參數的處理方式和各自對URL中中文的處理方式都不相同,各瀏覽器之間也有差異,有的在傳輸之前不進行編碼,有的在傳輸之前就已經進行了編碼,情形非常復雜。

但是我們以不變應萬變,都用URLEncoder.encode("中文","UTF-8")對中文參數進行編碼,這樣不管各瀏覽器怎樣對中文參數進行處理,此時經過我們編碼後的中文對瀏覽器來說就是位元組碼,與a、b、c等字母沒有什麼區別。但是伺服器會用UTF-8編碼形式來還原中文參數。

總結一下:以Tomcat伺服器為例,在中添加URIEncoding="UTF-8",設置tomcat以utf-8的編碼方式來處理URL。其次,對URL中的中文和中文參數都用URLEncoder.encode("中文","UTF-8")進行編碼。

再有,就是在後台進行轉碼。

點擊後打開新頁面,用戶登錄!用戶名為中文時,火狐、google瀏覽器無問題,但IE有亂碼問題:
問題代碼:
java代碼
<a href="member!sysLogin.do?name='${member.uname }'" target="_blank" />登錄</a>
超鏈接形式的傳參,都是Get方式!
Java代碼
public String sysLogin(){
try{
name=new String(name.getBytes("iso-8859-1"),"utf-8");
int r = this.memberManager.loginbysys(name);
if(r==1){
return "syslogin";
}
this.msgs.add("登錄失敗");

}catch(RuntimeException e){
this.msgs.add(e.getMessage());
} catch (UnsupportedEncodingException e) {
this.msgs.add(e.getMessage());
}
return this.MESSAGE;
}
修改成功:
Java代碼
<a href="javascript:toSysLogin('${member.uname }');" />登錄</a>

function toSysLogin(name){
var uriname="member!sysLogin.do?name="+name;
window.open( encodeURI(uriname));
}

『貳』 求一款安卓手機上用的可以把一些常見格式的視頻轉換成mp4的軟體。比如flv……最好中文!好評!!

你好!安卓手機上最好用的播放器是mx player ,可以選擇軟解進行解碼,不必要再去轉碼

『叄』 android(java) newString(bytes,"utf-8")依舊是中文亂碼

String str=new String(value.getBytes("ISO-8859-1"), "UTF-8");

『肆』 android eclipse亂碼怎麼解決

android開發,在Eclipse下的工程開發出現亂碼解決方法:(推薦:eclipse使用教程)

1、進入自己的工程目錄,進入到java文件的目錄。

2、enca * //用來查看所有文件的編碼格式,找到自己需要進行轉碼的文件。

3、對想要的文件進行編碼。這里我的BTDevice.java是GB2312的編碼格式,在UTF-8下看中文是亂碼。所以對BTDevice.java文件進行轉碼處理:

iconv -f gb2312 -t utf8 BTDevice.java > BTDevice.java.utf8

4、將轉碼後的文件復制到源文件里。

cp -av BTDevice.java.utf8 BTDevice.java

5、這樣就完成了轉碼工作。BTDevice.java.utf8這個文件就可以刪掉了。在Eclipse下執行一下refresh就可以看到中文亂碼已經解決了。

更多python知識請關注python視頻教程。

『伍』 求助:Android客戶端上傳文件到Tomcat伺服器,中文文件名時出現亂碼!!

首先,文件上傳,form表單中,method要設置為post,還有,enctype要設置為multipart/form-data,還有就是頁面編碼要設置為utf-8

然後,你修改了server.xml,把編碼設置為了utf-8,那麼你的轉碼方法String fileNameutf=new String(fullFileName.getBytes("ISO-8859-1"),"utf-8");是沒有用的,因為你server已經設置過了

『陸』 手機安卓版格式轉換器,那個好用介紹一下

點擊「視頻轉碼」功能。

『柒』 如何解決Android WebView出現的亂碼問題

1、webView.loadUrl();
直接顯示網頁內容(單獨顯示網路圖片),一般不會出現亂碼。
2、webView.loadData(data, "text/html", "UTF-8");
loadData主要被設計用來裝載URI格式的數據,它不能通過網路來載入內容。網上流傳的webview載入中文出現亂碼,多數是使用此方法。使用過程中主要有兩個問題:
(1)loadData不能載入圖片內容,如果想載入圖片內容或者獲得更強大的Web支持建議使用更強大的loadDataWithBaseURL.
(2) 許多實用loadData方法的朋友都遇到顯示亂碼的問題,那是因為編碼器設置錯誤導致的。我們知道String類型的數據主要是unicode編碼,而WebView一般為了節省資源使用的是UTF-8編碼,所以我們在loadData的時候要告訴方法怎樣轉碼。即要告訴它要將unicode編碼的內容轉成UTF-8編碼的內容。有些朋友雖然在loadData的時候設置了編碼方式,但是還是顯示亂碼,這是因為還需要為WebView的text編碼指定編碼方式。舉例如下:
WebView wv = (WebView)findViewById(R.id.webview) ;
wv.getSettings().setDefaultTextEncodingName(「UTF -8」) ;
wv.loadData(content, 「text/html」, 「UTF-8」) ;
注意為gb2312或gbk
(3).網頁說明編碼格式
以上兩種方法是網上給的比較好的方法,但是我都試了下都沒有解決我的亂碼問題。 原來我是用LoadData方法來解析html的,但是據說這是官方的一個BUG,不能用來解析中文。所以繞其道而行之,採用loadDataWithBaseURL的方法,其中codeingType設置為utf-8就OK了。3、loadDataWithBaseURL如果單純顯示文字的話可以寫webView.loadDataWithBaseURL(null, string, "text/html", "utf-8", null);
如果要顯示圖片可以寫webView.loadDataWithBaseURL(baseUrl, string, "text/html", "utf-8", null);
其中baseUrl為你存儲照片的路徑,比如:

『捌』 android txt閱讀器怎麼樣實現轉碼的大致的流程

InputStream is = Activity.getAssets().open(」txt文件名");// 文件輸入流
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
int value = 0;
try {
while ((value = is.read()) != -1) {
if (value != '\n' && value != '\r') {
bytes.write(value);
} else if (bytes.size() > 0) {
String str = new String(bytes.toByteArray(), "UTF-8");
String[] params = T.splitString(str, " ");

bytes.reset();
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}

『玖』 如何將編碼為UTF-16LE的文本在文本編碼為UTF-8的安卓手機正常顯示出來

如果只是轉換ascill字元,轉換到utf8是一樣的.如果轉換到utf16即unicode,這個是寬位元組編碼,asicll和中文即gb編碼,算多位元組編碼,即需要直接調用vs的api函數MultiByteToWideChar,多位元組轉寬位元組函數來實現

『拾』 android 接收url的json數據 中文轉碼

伺服器端:
StringencodeStr=URLEncoder.encode("中國","utf-8");
System.out.println("處理後:"+encodeStr);

//處理後:%E4%B8%AD%E5%9B%BD

客戶端:
StringdecodeStr=URLDecoder.decode(encodeStr,"utf-8");
System.out.println("解碼:"+decodeStr);

//解碼:中國

閱讀全文

與android中文轉碼相關的資料

熱點內容
程序員開車賣服裝 瀏覽:393
快速記憶法pdf 瀏覽:516
java定義異常類 瀏覽:707
的運行命令 瀏覽:585
24v電動駐車空調壓縮機 瀏覽:840
老程序員編程步驟 瀏覽:305
物理去除加密軟體 瀏覽:227
匯編語言可調試編譯器 瀏覽:447
jpeg如何轉成pdf 瀏覽:841
微機室為什麼有伺服器 瀏覽:657
安卓手機怎麼打語音電話不斷網 瀏覽:458
單片機匯編頭文件 瀏覽:946
juniper命令行 瀏覽:68
程序員咨詢銷售工作怎麼樣 瀏覽:782
蘋果文件伺服器是什麼 瀏覽:180
企業透明加密軟體有監視功能嗎 瀏覽:494
桌面的運行命令 瀏覽:10
主流廠商伺服器維護流程是什麼 瀏覽:807
壓縮棉的被子先洗洗在用 瀏覽:242
批處理bat代碼和文件夾 瀏覽:298