- Home
- Categorie
- Coding e Sistemistica
- PHP
- PHP, charset e lettere accentate, problema che non mi spiego
-
PHP, charset e lettere accentate, problema che non mi spiego
Ho il classico problema delle lettere accentate che non vengono codificate bene dal browser, ma non riesco a venirne a capo.
Nell'header delle pagine web c'è questo:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
mentre nel php info mi restituisce i seguenti parametri:
default_charset: local value:no value master value:no value HTTP_ACCEPT_LANGUAGE it-IT,it;q=0.8,en-US;q=0.6,en;q=0.4 HTTP_ACCEPT_CHARSET ISO-8859-1,utf-8;q=0.7,*;q=0.3 Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.3 _SERVER["HTTP_ACCEPT_CHARSET"] ISO-8859-1,utf-8;q=0.7,*;q=0.3
Preciso che le lettere accentate nell'html funzionano perfettamente, i dati estrapolati dal db allo stesso modo non hanno problemi, ma se scrivo:
[PHP]echo "èòàùé";[/PHP]
vedo i classici punti interrogativi.
L'editor di testo e impostato per salvare file di testo in UTF-8.
Non riesco a capire!
Ciao!
-
Prova ad inserire in testa allo script:
header('Content-type: text/html; charset=utf-8');
-
@ayrton2001 said:
Prova ad inserire in testa allo script:
header('Content-type: text/html; charset=utf-8');
Niente da fare. :?:
Ho anche provato ad aggiungere la seguente riga nel file .htaccess:
AddDefaultCharset UTF-8
ma il problema persiste ancora.
C'è qualcos'altro da controllare ancora?
-
Per visualizzare le lettere accentate tramite php occorre utilizzare htmlspecialchars()
echo htmlspecialchars("èòàùé");
-
@ayrton2001 said:
Per visualizzare le lettere accentate tramite php occorre utilizzare htmlspecialchars()
echo htmlspecialchars("èòàùé");
Ho utilizzato questa funzione infatti per risolvere il problema, ma possibile non ci sia modo di far andare il charset giusto?
-
@mecha said:
Ho utilizzato questa funzione infatti per risolvere il problema, ma possibile non ci sia modo di far andare il charset giusto?
Non è una questione di charset, ma di html. Infatti in html i caratteri accentati sono rappresentati dai relativi caratteri speciali (à etc...)
Infatti se nella pagina vedi i punti interrogativi, nel sorgente html vedi i caratteri accentati.