Caratteri speciali e parole accentate

minatore

Utente Attivo
25 Set 2007
410
0
0

Ciao ragazzi,
stamattina mi è capitata una cosa strana, ho fatto un rudimentale form per essere a conoscenza di ciò che facevano 4 righe di codice, mi siego
guardando sul web mi sono accorto che sono molte le domande sui caratteri speciali e sulle parole accentate e come gestirle in php.
questa è la pagina del form
HTML:
<?php /* Created on: 27/08/2012 */ ?>
<html>
<head>
<meta http-equiv='Content-Type' content='Type=text/html; charset=utf-8'> 
</head> 
<body>
<form id="form1" name="form1" method="post" action="esito.php">
<textarea name="messaggio" id="messaggio" cols="45" rows="5"></textarea><br>
<input type="submit" name="submit" id="submit" value="Invia Messaggio" />
</form> 
</body>
</html>
ho notato che senza questa riga di codice
<meta http-equiv='Content-Type' content='Type=text/html; charset=utf-8'>
le parole accentate non vengono inserite nel db
questa è la pagina esito.php
PHP:
<?php /* Created on: 27/08/2012 */ ?>
<html>
<body>
<?php
require 'connessione/Config.php'; 
require 'connessione/Connect.php';  
$messaggio=trim($_POST['messaggio']);
if(get_magic_quotes_gpc())
	{
		$messaggio=stripslashes($messaggio); 
	} 
$messaggio=htmlspecialchars($messaggio);	  
$messaggio=mysql_real_escape_string($messaggio);

$titolo="prova";
$query=mysql_query("INSERT INTO comunicazioni(titolo_comunicazione,descr_comunicazione) 				   VALUES('$titolo','$messaggio')"); 
?>
</body>
</html>
supponendo che vorrei scrivere nel db queste righe
lettere accentate à è ì ò ù
gli slash //\\"//'7'
caratteri speciali <> <amici>
con il codice sopra ottengo
lettere accentate Ã* è ì ò ù
gli slash //\\&quot;//'7'
caratteri speciali &lt;&gt; &lt;amici&gt;
per stamparle a video ed avere una corretta traduzione devo fare una cosa del genere
PHP:
echo htmlspecialchars_decode(htmlentities($Stringa]));
mentre se togliessi questa riga
PHP:
$messaggio=htmlspecialchars($messaggio);
nel db avrei
lettere accentate Ã* è ì ò ù
gli slash //\\"//'7'
caratteri speciali <> <amici>
ed in php dovrei scrivere
PHP:
echo htmlentities($stringa);
Adesso vorrei un vostro parere in merito, da esperti mi consigliate la prima, la seconda oppure entrambe possono andare bene, il risultato alla fine è uguale, ma cambia qualcosa in sicurezza?
Ciao da minatore
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
La seconda è la soluzione più elegante e quella adottata nella maggior parte delle applicazioni: assicurati che il charset sia sempre definito e usa htmlentities per convertire le lettere accentate nelle rispettive entità HTML. Quando poi le visualizzi, usa htmlentities_decode.
 

minatore

Utente Attivo
25 Set 2007
410
0
0
Ciao Alessandro, grazie per la risposta, intanto ho usato
PHP:
$pippo=$ris_comunicazione['descr_comunicazione'];
 echo nl2br(htmlentities_decode($pippo));
ma da errore
Codice:
Fatal error: Call to undefined function htmlentities_decode()
Ciao
 

minatore

Utente Attivo
25 Set 2007
410
0
0
Ciao Alessandro, grazie per la risposta, intanto ho usato
PHP:
$pippo=$ris_comunicazione['descr_comunicazione'];
 echo nl2br(htmlentities_decode($pippo));
ma da errore
Codice:
Fatal error: Call to undefined function htmlentities_decode()
Ciao

Ciao, forse ti riferivi a
PHP:
html_entity_decode
Ciao da minatore
 
Discussioni simili
Autore Titolo Forum Risposte Data
R Tutto su utf-8 ma ancora problemi con i caratteri speciali in mysql MySQL 1
A eliminare caratteri speciali mettendo uno spazio PHP 0
A [PHP] caratteri speciali PHP 14
gandalf1959 problema con la codifica caratteri accentati e speciali tra php e mysql PHP 3
F [Joomla] Caratteri speciali si vedono tutti sbagliati su Safari Joomla 2
F [Javascript] Verificare la presenza di caratteri speciali in una password Javascript 3
fabryx [PHP]RISOLTO: Parsing xml nodi con caratteri speciali PHP 1
S stringhe con caratteri speciali PHP 3
F sql e record con caratteri speciali e spazi Classic ASP 1
A visualizzare caratteri speciali Database 1
W Controllo caratteri speciali PHP 2
J Xml errore su caratteri speciali e accenti XML 0
L Caratteri speciali e apici PHP 2
G Invio caratteri speciali tramite jquery/ajax Javascript 1
G Invio caratteri speciali tramite jquery/ajax Ajax 1
felino [Ajax] Passare caratteri speciali in un URL Ajax 3
asevenx problema con caratteri speciali e str_replace PHP 4
Sevenjeak [Java] aiuto espressioni regolari, con caratteri speciali Java 2
C Visualizzare i caratteri accentati e speciali in una textarea Javascript 16
A [Json]Caratteri speciali e url PHP 6
novello88 Caratteri speciali HTML HTML e CSS 2
asevenx caratteri speciali, accenti e a capo PHP 3
K Ajax e caratteri speciali Ajax 0
M Conversione Caratteri speciali per URL PHP 6
T [php-mysql] Caratteri speciali e accentati PHP 10
L problema scrittura file e caratteri speciali PHP 1
M caratteri speciali ed estrazione dati Database 4
helpdesk Caratteri speciali PHP 6
LaKanka Inserimento caratteri speciali nel DB PHP 25
U Caratteri Speciali php txt html PHP 2
T select e caratteri speciali PHP 3
A Visualizzazione caratteri speciali PHP 0
purno caratteri speciali: apostrofi accenti eccetera XML 2
A eliminare caratteri diacritici con codice ascii PHP 4
MarcoGrazia Eliminare in automatico i caratteri spuri all'inizio e alla fine di una stringa Snippet PHP 0
K [javascript] Tecnica per rilevare celle contenenti caratteri ricevute in dinamico Javascript 1
M Matrice di caratteri ( inseriti da tastiera ) ordinati in ordine alfabetico C/C++ 2
M [PHP] Troncare caratteri PHP 1
A [PHP] Modifica caratteri di una query Oracle SQL PHP 0
C Caratteri accentati php PHP 2
Z [Java] Caratteri distorti e spaziature errate nelle stampe di componenti swing Java 0
S [PHP] visualizzazioe caratteri strani PHP 13
borgo italia [PHP] ricerca caratteri accentati PHP 4
trattorino [Javascript] FAR sparire campo dopo top caratteri Javascript 2
D [Javascript] aggiornare numero caratteri se campo già popolato Javascript 5
M [PHP] Impedire di digitare determinati caratteri nell’input (controllo in tempo reale) PHP 4
giancadeejay [PHP] Controllo inserimento tot caratteri PHP 5
giancadeejay [PHP] Controllo su quantita' di caratteri inseriti, in colonna db PHP 5
Shyson [WordPress] Mettere un limite a lunghezza caratteri WordPress 11
B [MySQL] CONTROLLARE I PRIMI CARATTERI DI UN CAMPO VARCHAR MySQL 8

Discussioni simili