public
static
String toUf8String(String s) {
StringBuffer sb =
new
StringBuffer();
for
(
int
i = 0; i < s.length(); i++) {
char
c = s.charAt(i);
if
(c >= 0 && c <= 255) {
sb.append(c);
}
else
{
byte
[] b;
try
{
b = Character. toString(c).getBytes(
"utf-8"
);
}
catch
(Exception ex) {
System.
out
.println(ex);
b =
new
byte
[0];
}
for
(
int
j = 0; j < b.
length
; j++) {
int
k = b[j];
if
(k < 0)
k += 256;
sb.append(
"%"
+ Integer.toHexString(k).
toUpperCase());
}
}
}
return
sb.toString();
}