Anche se sembra davvero strano che i tuoi dati mysql vengano emessi correttamente dove le stringhe php non riescono a codificare, il modo in cui proverei a risolvere il tuo problema sarebbe scomporre il problema in passaggi cercando di identificare dove viene generato questo errore di codifica!
Prima di tutto, dovresti provare a impostare il tuo default_charset
a utf-8
all'interno del file php.ini, che è fatto in questo modo:
default_charset = "utf-8";
Se non puoi farlo a causa delle restrizioni del provider, potresti comunque essere in grado di modificare il valore in fase di esecuzione utilizzando ini_set funzione!
Ti consigliamo inoltre di assicurarti che il server web sia impostato per l'output anche di file codificati utf-8! In Apache questo può essere fatto sia in httpd.conf che usando i file htaccess :
AddDefaultCharset UTF-8
A questo punto se tutto fallisce, comunque... prova ad andare con header php e relativo charset html :
<?php header("content-type: text/html;charset=utf-8") ?>
<!doctype>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<?php echo "α β γ δ ε ϝ ϛ ζ η θ ι κ λ μ ν ξ ο π ϟ ϙ ρ σ τ υ φ χ ψ ω ϡ" ?>
</body>
</html>
È molto importante, tuttavia, che i tuoi file vengano salvati anche utilizzando una codifica appropriata (utf-8 è quasi sempre la scelta migliore, aiuta molto a prevenire problemi). Se hai salvato file con una codifica diversa da utf-8, distruggili e creane di nuovi dal vecchio contenuto. A volte gli editor non sono davvero in grado di cambiare le codifiche correttamente una volta creato il file, anche se notepad ++ generalmente funziona bene su questo; usa semplicemente converto to
non la encode in
caratteristica!
Se ancora non funziona, anche se spero che ormai funzioni, puoi controllare alcune altre alternative php come mb_detect_encoding , mb_convert_encoding , htmlentities e htmlspecialchars per risolvere il problema!