将String转换为UTF8格式

时间:2010-10-21 14:50:58

标签: java string

我的java代码,我有一个字符串名称=“örebro”; //它是瑞典人的角色。

但是当我在Web应用程序中使用此名称时。我在'Ö'字符处打印一些特殊字符。

无论如何,我可以使用与“örebro”相同的角色。

我做了一些像这样的事但没有奏效。

String name = "örebro";
byte[] utf8s = name .getBytes("UTF-8"); 
name = new String(utf8s, "UTF-8");

但最后的名字打印相同,就像这样。 REBO

请指导我

4 个答案:

答案 0 :(得分:4)

您提供的Java代码毫无意义,它什么都不做。 Java Strings已经完全能够编码任何字符(尽管你必须小心源代码中的文字,因为它们依赖于编译器使用的编码,这取决于平台)。

您的问题很可能是您的网页未在HTTP标头或HTML元标记中正确声明编码。

答案 1 :(得分:3)

您需要将输出的编码设置为UTF8。

答案 2 :(得分:1)

读取页面的浏览器可能不知道编码。

  • 在Java中发送标题(在任何其他输出之前),例如
    ServletResponse resource;(...)
    resource.setContentType ("text/html;charset=utf-8");

  • 在您的html页面中,通过发送(打印)提及编码为<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

答案 3 :(得分:1)

如果用于生成输出的页面是jsp,则对精确

有用
<%@ page contentType="text/html; charset=utf-8" %>