Convertir (C), (R), (TM) et (o) en©,®,™, ° repectivement en Java
Je veux convertir (C), (R), (TM) et (o) en ©, ®, ™, ° repectively.
Je remplace la chaîne qui contient les caractères mentionnés ci-dessus par leurs symboles respectifs. Exemple d'extrait de code illustré ci-dessous
public static String convertSpecialCharacters( String source ){
if( isNotEmpty( source ) ){
source = source.replaceAll( "\\(o\\)", "°" ).replaceAll( "\\(C\\)", "©" ).replaceAll( "\\(R\\)", "®" ).replaceAll( "\\(TM\\)", "™" );
}
}
Lorsque je passe la chaîne "Sample text©®°™", j'obtiens la sortie suivante.
" Exemple de texte © Æ ∞ 'Ñ¢".
Les symboles sont convertis comme prévu lorsque je m'exécute sur une machine locale, mais lorsque je déploie l'application sur un serveur tomcat, j'obtiens ce qui précède sortie.
Est - ce quelque chose à faire avec le serveur tomcat?
Toute aide appréciée.
0
1 answers
Le problème résolu. Au lieu de remplacer la chaîne par un symbole spécifique, remplacez par les caractères unicode comme indiqué ci-dessous.
public static String convertSpecialCharacters( String source ) {
if( isNotEmpty( source ) ){
source = source.replaceAll( "\\(o\\)", "\u00B0" ).replaceAll( "\\(C\\)", "\u00a9").replaceAll( "\\(R\\)", "\u00AE" ).replaceAll( "\\(TM\\)", "\u2122" );
}
}
2
Author: Usha, 2013-07-08 03:35:37