我的java代码,我有一个字符串名称=“örebro”; //它是瑞典人的角色。
但是当我在Web应用程序中使用此名称时。我在'Ö'字符处打印一些特殊字符。
无论如何,我可以使用与“örebro”相同的角色。
我做了一些像这样的事但没有奏效。
String name = "örebro";
byte[] utf8s = name .getBytes("UTF-8");
name = new String(utf8s, "UTF-8");
但最后的名字打印相同,就像这样。 REBO
请指导我
答案 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" %>