2010-05-30 50 views
0

我正在開發一個發送推文的程序。 我有這樣一段代碼:「?」將字符串編碼爲Twitter

StringBuilder sb = new StringBuilder("Recomendo "); 
    sb.append(lblName.getText()); 
    sb.append(" no canal "+lblCanal.getText()); 

    sb.append(" no dia "+date[2]+"/"+date[1]+"/"+date[0]); 
    sb.append(" às "+time[0]+"h"+time[1]); 

    byte[] defaultStrBytes = sb.toString().getBytes("ISO-8859-1"); 
    String encodedString = new String(defaultStrBytes, "UTF-8"); 

但是當我把它鳴叫我得到的符號或其他平面字符,因爲像「à」這樣的口音。我也試着只用

String encodedString = new String(sb.toString().getBytes(), "UTF-8"); //also tried with ISO-8859-1 

但問題依然存在,

回答

1

你想讀的Latin-1作爲UTF-8。這就是爲什麼你會得到問號。

儘量按原樣發送您的字符串,

String encodedString = sb.toString(); 

的字符集,應照顧,當你發送到鳴叫消息。如果需要URL編碼,你會做類似

String msg = URLEncoder.encode(encodedString, "UTF-8"); 
+0

這解決了我的問題!我沒有「意識到」使用OpenSearch我必須URLEncode字符串......謝謝:) – 2010-05-31 20:01:14