我想分别将(C),(R),(TM)和(o)转换为©,®,™,°。
我正在用各自的符号替换包含上述字符的字符串。示例代码段如下所示
public static String convertSpecialCharacters( String source ){
if( isNotEmpty( source ) ){
source = source.replaceAll( "\\(o\\)", "°" ).replaceAll( "\\(C\\)", "©" ).replaceAll( "\\(R\\)", "®" ).replaceAll( "\\(TM\\)", "™" );
}
}
当我传递字符串“Sample text©®°™”时,我得到以下输出。
“示例文本¬¬Æ¬∞,Ñ¢”。
当我在本地计算机上运行时,符号会按预期转换但是当我在tomcat服务器上部署应用程序时,我得到上面的输出。
是否与tomcat服务器有关?
任何帮助表示感谢。
答案 0 :(得分:2)
问题已解决。而不是使用特定符号替换字符串替换为unicode字符,如下所示。
public static String convertSpecialCharacters( String source ) {
if( isNotEmpty( source ) ){
source = source.replaceAll( "\\(o\\)", "\u00B0" ).replaceAll( "\\(C\\)", "\u00a9").replaceAll( "\\(R\\)", "\u00AE" ).replaceAll( "\\(TM\\)", "\u2122" );
}
}