如何在java中替换©和'这些特殊字符?

时间:2013-03-21 11:04:43

标签: java character-encoding special-characters

我必须更换一些特殊字符,例如'和©因为当我将文本(包含这些特殊字符)存储到我的数据库中时,这些字符显示为\ xC2 \ xA9 ..(无效字符。)任何一个都可以告诉我如何将它们存储到数据库中,因为它们看起来像或如何替换它们(这是紧急的)                                                    感谢&安培;问候

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

使用

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

答案 2 :(得分:0)

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

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

对于网址编码,您可以使用URLEncoder类,对于URL解码,您可以使用URLDecoder类。