Ciao a tutti, mi trovo in difficoltà sul passaggio di alcuni caratteri speciali che potrebbero essere passati in vari modi ad alcune della pagine web, in particolare tramite textarea o campi text.

I caratteri sono alcune strane virgolette o apicetti che vengono aggiunti ai testi scritti in word e che poi copia/incollati nei campi in questione danno problemi...

codice:
public static String replaceDangerousChars(String stringa){
    if (stringa == null)
      return "";
    
    stringa = stringa.replaceAll("…","...");
    stringa = stringa.replaceAll("”","\"");
    stringa = stringa.replaceAll("“","\"");
    stringa = stringa.replaceAll("’","'");
    stringa = stringa.replaceAll("'","''");
    stringa = stringa.replaceAll("#"," ");
    stringa = stringa.replaceAll("
","\n");
    
    return stringa;
  }
ho quindi fatto il metodo soprastante per sostituirli con le classiche virgolette e apici.

facendo varie prove però con questa pagina:

codice:
<%@ page contentType="text/html;charset=windows-1252"%>
<%@page import="utils.Utils"%>

<html>
<head>
	
</head>
<body>
<%

  if (request.getParameter("testo") != null){
	  String testo = request.getParameter("testo");
	  
	  out.println("->"+testo+"<-
");
	  
	  for(int i=0;i<testo.length();i++)
	  	out.println((int)testo.charAt(i)+" - ");
	  	
	  testo = Utils.replaceDangerousChars(testo);
	  	
  	out.println("
->"+testo+"<-
");
  	
  	for(int i=0;i<testo.length();i++)
	  	out.println((int)testo.charAt(i)+" - ");
	  
	  testo = testo.replace('’','\'');	
	  
	  out.println("
->"+testo+"<-
");
  	
  	for(int i=0;i<testo.length();i++)
	  	out.println((int)testo.charAt(i)+" - ");
	}
%>
<div id="test">
	<form method="post">
		<input type="text" name="testo" id="testo">
		<input type="submit" value="x">
	</form>
</div>
</body>
</html>
ho notato che sia usando il metodo POST che il metodo GET i caratteri della 2,3 e 4 replaceAll vengono passati come carattere 63 (il ?)...

qualcuno mi sa dire il motivo?

Grazie per l'attenzione