Maledetti caratteri accentati...

Salve,

facendo un banalissimo inserimento di testo da un campo input al database MySql, su un hoster che monta la versione 5.0.26-standard-log funziona tutto perfettamente, mentre su un'altro che monta la versione 4.1.21-standard i caratteri accentati vengono completamente sfasati.  :(

Come è possibile tutto cio?

Grazie a tutti quelli che mi aiuteranno

inviato 9 anni fa
Assolollo
X 0 X

Potrebbe essere la tabella di mysql che ha come set di caratteri un set strano... di solito si utilizza UTF8

 :bye:

risposto 9 anni fa
Marco Dario
X 0 X

Anch'io ho lo stesso problema ho controllato la tabella ed set di caratteri  utilizzato è :latin1 e nel header    <meta  http-equiv="Content-Type"  content="text/html; charset=UTF-8"/>; purtroppo quando richiamo a video i record contenenti accenti od apostrofi ottengo degli errori di visualizzazione ad esempio:

Il 15 giugno scorso ?tato che corretto dovrebbe essere Il 15 giugno scorso è stato.

sapere indicarmi come risolvere il problema?

grazie giovanni

risposto 9 anni fa
bonann23
X 0 X

io non potendo cambiare la codifica di mysql mi sono creato questa funzioncina

   function creaAccenti($testo) {

        $txtDaDb = $testo;
   
   $ricerca[0] = "/à/";
   $ricerca[1] = "/è/";
   $ricerca[2] = "/é/";
   $ricerca[3] = "/ì/";
   $ricerca[4] = "/ò/";
   $ricerca[5] = "/ù/";
   
   $rimpiazza[0] = "&agrave;";
   $rimpiazza[1] = "&egrave;";
   $rimpiazza[2] = "&eacute;";
   $rimpiazza[3] = "&igrave;";
   $rimpiazza[4] = "&ograve;";
   $rimpiazza[5] = "&ugrave;";   
   
   $txtDaDb = preg_replace($ricerca, $rimpiazza, $txtDaDb);
   
   return $txtDaDb;
      
   }

Questa funzione ricerca le lettere accentate e le sostituisce con la corrispondente entità html, ovviamente è possibile aggiungere anche gli apici doppi e singoli se ce ne fosse bisogno.

Quando estraete un $testo dal database lo mostrate a schermo così:

echo creaAccenti($testo);
risposto 9 anni fa
Lex84
X 0 X

Grazie

ci  provo subito

giovanni

risposto 9 anni fa
bonann23
X 0 X
Anch'io ho lo stesso problema ho controllato la tabella ed set di caratteri  utilizzato è :latin1 e nel header   
<meta  http-equiv="Content-Type"  content="text/html; charset=UTF-8"/>

; purtroppo quando richiamo a video i record contenenti accenti od apostrofi ottengo degli errori di visualizzazione ad esempio:

Il 15 giugno scorso ?tato che corretto dovrebbe essere Il 15 giugno scorso è stato.

sapere indicarmi come risolvere il problema?

grazie giovanni

Secondo me dovresti togliere charset=UTF-8 e sostituirlo con charset=iso-8859-1

Prova...  :bye:

risposto 9 anni fa
Assolollo
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda