Android - How to Convert String to utf-8 in android
public class StringFormatter {
// convert UTF-8 to internal Java String format
public static String convertUTF8ToString(String s) {
String out = null;
try {
out = new String(s.getBytes("ISO-8859-1"), "UTF-8");
} catch (java.io.UnsupportedEncodingException e) {
return null;
}
return out;
}
// convert internal Java String format to UTF-8
public static String convertStringToUTF8(String s) {
String out = null;
try {
out = new String(s.getBytes("UTF-8"), "ISO-8859-1");
} catch (java.io.UnsupportedEncodingException e) {
return null;
}
return out;
}
}
You can convert your string using StringFormatter class to your code.
You want to convert to UTF-8:
String normal="This normal string".
String utf=StringFormatter.convertStringToUTF8(normal);
You want to convert UTF-8 to normal format:
String normal=StringFormatter.convertUTF8ToString(normal);
In http://developer.android.com/reference/java/net/URLEncoder.html you can read that the you used is deprecated and that you should use static String encode(String s, String charsetName)
So URLEncoder.encode("臺北市", "utf-8")
should do the trick.