Java使用UTF-8字符

时间:2016-11-26 01:50:21

标签: java utf-8

 String original = "This is my string valúe";

我正在尝试将上面的字符串编码为UTF-8等效字符,但只用 - “ú”替换特殊字符(ú)在这种情况下。

我尝试使用以下内容,但收到错误:

  

输入不正确UTF-8,表示编码!字节:0xFA 0x20 0x63 0x61

代码:

    String original = new String("This is my string valúe");

    byte ptext[] = original.getBytes("UTF-8");
    String value = new String(ptext, "UTF-8"); 

    System.out.println("Output : " + value);

    This is my string valúe

4 个答案:

答案 0 :(得分:3)

您可以使用String.replace(CharSequence, CharSequence)并将其格式化为

String original = "This is my string valúe";
System.out.printf("Output : %s%n", original.replace("ú", "ú"));

哪些输出(我认为你想要的)

Output : This is my string valúe

答案 1 :(得分:0)

您似乎想要使用XML字符实体。

Appache Commons Lang有一个方法(在StringEscapeUtils中)。

答案 2 :(得分:0)

  

我尝试将上述字符串编码为UTF-8等效字符,但仅用>特殊字符(ú)替换 - “ú”在这种情况下。

我不确定编码“ú”但是你试过看URLEncoder班了吗?它不会按照你要求的方式对字符串进行编码,但它会摆脱怪异的角色。

答案 3 :(得分:-3)

请你试试以下几行:

 byte ptext[] = original.getBytes("UTF8");
 String value = new String(ptext, "UTF8");