|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jul 2009
Messaggi: 125
|
[php + mysql] Caratteri accentati e Sicurezza
Salve a tutti,
Ho creato un form: Codice:
<form method="post" action="modifica.php" enctype="multipart/form-data"> <input type="text" size="70" name="frase1"> <input type="submit" size="10" value="Invia" name="go"> </form> Codice:
if($_POST['frase1']!=""){ $fr= mysql_real_escape_string($_POST['frase1']); $query = "INSERT INTO `frasi` (`frase`) VALUES ( '".$_POST['frase1']."')"; $risultato = mysql_query($query) or die("Query fallita: " . mysql_error() ); } Solo che al posto dei caratteri accentati mi escono caratteri tutti strani come: ù è Inoltre vicino agli apostrofi mi compare anche uno slash ( perchè uso mysql_real_escape_string per evitare sql injection ). Come devo fare per mettere tutto a posto ? non capisco ![]() |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Oct 2009
Messaggi: 67
|
perchè usi la funzione, e poi il risultato non lo usi?
__________________
- Sei... Il numero perfetto! - Ma non era Tre il numero perfetto? - Si, ma la mia pistola ha sei colpi... [cit:Il Buono...ne "Il Buono, Il Brutto E Il Cattivo"] |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
|
Quote:
però vedi di usare $fr ![]() Tornando al discorso dei caratteri, classico. Che codifica usi per MySQL? Inoltre... prova a à e è, usare quindi le codifiche HTML dei caratteri accentati
__________________
IT Developer at Hardware Upgrade S.r.l. self.love(this.me()); |
|
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Jul 2009
Messaggi: 125
|
Si avete ragione, avevo sbagliato a scrivere qui ma sullo script originale era apposto
![]() Ecco la mia tabella: Codice:
CREATE TABLE IF NOT EXISTS `frasi` ( `frase_id` int(9) unsigned NOT NULL AUTO_INCREMENT, `frase` text NOT NULL, PRIMARY KEY (`frase_id`), ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; Escono ancora slash e lettere accentate strane... cosa dovrei fare ? ![]() |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
|
Quote:
MySQL non converte i caratteri speciali in entità HTML. Devi farlo tu e memorizzare l'entità HTML. Non è un problema di MySQL se visualizzi quei caratteri ![]()
__________________
IT Developer at Hardware Upgrade S.r.l. self.love(this.me()); |
|
![]() |
![]() |
![]() |
#6 | |
Member
Iscritto dal: Jul 2009
Messaggi: 125
|
Quote:
Ho usato questa funzione prima dell' inserimento nel DB : Codice:
mysql_set_charset('utf8',$db_con); Codice:
mysql_set_charset('latin1',$db_con); ![]() Ho fatto bene o è una soluzione "grezza" ? Se va bene ora rimane solo il problema degli slash ( es. \' al posto di ' ) ![]() ![]() |
|
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
|
Quote:
htmlstripslashes() può venirti in aiuto ![]()
__________________
IT Developer at Hardware Upgrade S.r.l. self.love(this.me()); |
|
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: Jul 2009
Messaggi: 125
|
|
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Apr 2008
Città: Varese
Messaggi: 406
|
Quote:
![]()
__________________
IT Developer at Hardware Upgrade S.r.l. self.love(this.me()); |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:00.