如何替换©;和’;java中的这些特殊字符?

如何替换©;和’;java中的这些特殊字符?,java,character-encoding,special-characters,Java,Character Encoding,Special Characters,我必须替换一些特殊字符,如“和©因为当我将文本(包含这些特殊字符)存储到我的数据库中时,这些字符显示为\xC2\xA9..(无效字符)。有人能告诉我如何将它们按原样存储到数据库中,或者如何替换它们(这很紧急)。 感谢和问候使用 String str = "text@"; String new_str = str.replace("@",""); 一种方法是在将字符串保存到数据库之前对这些字符串进行URL编码。当您从数据库中检索它们时,您可以在进一步使用它们之前对它们进行URL解码(或者根据您的

我必须替换一些特殊字符,如“和©因为当我将文本(包含这些特殊字符)存储到我的数据库中时,这些字符显示为\xC2\xA9..(无效字符)。有人能告诉我如何将它们按原样存储到数据库中,或者如何替换它们(这很紧急)。
感谢和问候

使用

String str = "text@";
String new_str = str.replace("@","");

一种方法是在将字符串保存到数据库之前对这些字符串进行URL编码。当您从数据库中检索它们时,您可以在进一步使用它们之前对它们进行URL解码(或者根据您的需求显示在UI上)。尽管这不是URL的情况,但它将用更兼容的字符替换特殊字符

URL编码将替换这些字符,例如©将替换为%40,'(单引号)将替换为%27。有关URL编码的详细信息,请参阅


对于URL编码,您可以使用该类,对于URL解码,您可以使用该类。

确保整个堆栈(数据库、JVM、容器、应用程序等)使用相同的字符集(最好是UTF-8)。改变是好事,但有些地方不是。这将导致像您描述的那样的编码错误。

为什么要标记此[html]?哎呀!它对我不起作用。我想替换©not@。你好,虽然这可能很好地回答了这个问题,但请注意,其他用户可能没有你那么有知识。你为什么不加一点解释,解释一下这段代码的工作原理呢?谢谢Thanq Kshitij..第二个不是“(单引号),而是“(ex:QlikTech的)你可以在ex:string中找到这个字符。我明白了。很难区分,看起来几乎一样:)。在这种情况下,其编码字符将为%92。但最重要的是,你得到了方法,它应该适用于你的案例。而且,正如@mikkel提到的,您可能需要检查配置的字符集;这样你甚至不需要编码!我也检查了@mikkel所说的话,我开始了解我的语言java(UTF-16/UTF-8)和我的数据库Hbase(UTF-8)使用编码,但仍有一些字符在我的数据库中显示为无效字符。好的,在这种情况下,请尝试对它们进行编码。嗨,Kshitij,当我使用UTF-8编码时,仍有一些字符显示为“内有问号的黑色矩形”。如何正确显示它们?