Ciao,
avendo recentemente un problema con le lettere accentate e caratteri 'strani' (non so cosa sia cambiato, ma fino ad un mesetto fa funzionava tutto correttamente) ..
ho fatto le seguenti modifiche:
- pagine HTML:
salvate in formato UTF-8
inserito:
codice HTML:
<meta charset="utf-8">
Visto che nel passaggio dalla pagina HTML (dal form) alla pagina PHP i caratteri si 'sporcavano' ho inserito sulle pagine PHP:
Codice PHP:
header('Content-Type: text/html; charset=utf-8');
Adesso i caratteri arrivano alla pagina PHP in modo corretto, però ho un problema con la chiamata ad una funzione (inserita in una pagina 'inclusa') che trasforma il minuscolo in maiuscolo
Codice PHP:
<?phpheader('Content-Type: text/html; charset=utf-8');require_once 'inc_funzioni_varie.php' ;
....
$fonte_new = maiuscolo($fonte_new);
- inc_funzioni_varie.php
Codice PHP:
function maiuscolo($stringa) { $vocali_accentate = array("à","á","è","é","ì","í","ò","ó","ù","ú"); $vocali_accentate_maius = array("À","Á","È","É","Ì","Í","Ò","Ó","Ù","Ú"); return strtoupper(str_replace($vocali_accentate,$vocali_accentate_maius,$stringa)); }
Ho 2 situazioni problematiche:
1) se la funzione la inserisco dentro alla stessa pagina PHP le lettere vengono convertite correttamente ma ho problemi con altri caratteri (ad es. €)
2) se la funzione la lascio dentro al file incluso (scelta obbligata visto il numero di pagine che dovrei modificare) non funziona la conversione (oltre al problema degli altri caratteri tipo €)
- Input HTML
modello_veicolo_new --------> €,à,á,è,é,ì,í,ò
- Output in PHP senza richiamare la funzione
modello_veicolo_new maiuscolo --------> €,à,á,è,é,ì,í,ò
- Output in PHP richiamando la funzione dentro alla pagina
modello_veicolo_new maiuscolo --------> ‚?,À,Á,È,É,Ì,Í,Ò
- Output in PHP richiamando la funzione dentro al file incluso
modello_veicolo_new maiuscolo --------> ‚?,à,á,è,é,ì,í,ò