charset e collation | Interfaccie grafiche, Utilities, software di gestione

Topic: Pubblico - Composto da 3 Posts di 2 Utenti.

09 Maggio, 2011 08:26 #1
heluanieduardo
Utente

heluanieduardo
Registrato: May, 2011
Posts: 2
Offline

Premetto di essere un neofito in questo ambiente nonostante abbia lavorato in informatica per circa 40 anni. Sto sbattendo la testa da molti giorni e non riesco a risolvere.
Nella mia form ho impostato

E riempo una select con dati di una tabella mysql:

 1echo "<select name=\"listboxorchestre\" id=\"listboxorchestre\" align=\"center\" maxlength=\"30\" size=\"10\" onChange=\"popola(this)\">";
 2print "<option value=0> </option>";
 3$resultSet = mysql_query($sql_list_orchestra,$conn)
 4or die( "Errore: " . mysql_error() );
 5while ($row = mysql_fetch_array($resultSet, MYSQL_ASSOC)) {
 6$string_datos = implode("|", $row);
 7$str_datos = str_replace(" ", "_", $string_datos);
 8print "<option value=$str_datos>";
 9print "$row[NOME_ORCHESTRA]</option>";
10}
11echo "</select>";

i dati sono visualizzati correttamente anche se in mysqladmin i caratteri accentati vengono visualizzati erroneamente.
Comunque Il problema si verifica quando aggiorno la select con una function XMLHttpRequest. La collation del database è utf8-bin. Ringrazio anticipatamente.

Ultima modifica 14 Maggio, 2011 23:01 di g2d

14 Maggio, 2011 23:03 #2
g2d
Moderatore

g2d
Registrato: Jul, 2008
Posts: 957
Offline
Segui g2d su Twitter!

Ciao

Non sono un esperto di php ma potrebbe anche dipendere dal vhost Apache e dalla pagina web che stai utilizzando, prova ad allineare tutto allo stesso charset e facci sapere

algweb

Ps. scusa il ritardo


Un tempo ero algweb ora sono g2d

16 Maggio, 2011 06:59 #3
heluanieduardo
Utente

heluanieduardo
Registrato: May, 2011
Posts: 2
Offline

Grazie algweb, comunque avevo già risolto in questo modo:
// da mysql admnin imposto il charset del database
alter database my_heluanieduardo charset=utf8;

// da PHP imposto in modo che la conessione usi UTF-8
SET NAMES utf8;

// da mysql admnin modifico collation_server
SET GLOBAL collation_server='utf8_unicode_ci';

// da mysql admnin modifico la tabella
alter table artisti charset=utf8;

// da mysql admnin modifico le colonne
alter table artisti modify NOME_ARTISTA VARCHAR(30) character set utf8 COLLATE utf8_general_ci;

// e certamente nella form
meta http-equiv="Content-Type" content="text/html; charset=utf-8"

Adesso funziona tutto ok

Condividi su:

Loggati o Registrati per replicare