23 messaggi dal 18 aprile 2002
Ciao a tutti,
mi trovo con un problema che non riesco a risolvere.
Lavoro sul framework 3.5 con EF e con db MySql con Connector/Net.
Se attraverso un modulo voglio aggiornare i dati sul db apparentemente non si presentano problemi. Se provo a usare qualche carattere diacritico tipo ¨ sul db mi ritrovo la s normale. Se faccio una query direttamente sul db l'aggiornamento va a buon fine. La pagina mi legge il carattere correttamente ma se riprovo ad aggirnare con EF niente da fare.

Ho provato all'interno della pagina ad utilizzare questo script e l'aggiornamento viene fatto correttamente.

            MySqlConnection myConnection;
            MySqlDataAdapter myDataAdapter;
            DataSet myDataSet;
            string strSQL;

            myConnection = new MySqlConnection("server=myServer; user id=myUser; password=myPwd; database=myDb; pooling=false;");
            strSQL = "SELECT Name_SI FROM partners where idPartner=1;";

            MySqlCommand myCommand = new MySqlCommand("update partners set Name_SI='¨' where IdPartner=1;", myConnection);
            myCommand.Connection.Open();
            myCommand.ExecuteNonQuery();

            myDataAdapter = new MySqlDataAdapter(strSQL, myConnection);
            myDataSet = new DataSet();
            myDataAdapter.Fill(myDataSet, "mytable");

            MySQLDataGrid.DataSource = myDataSet;
            MySQLDataGrid.DataBind();



La funzione in EF che mi fa l'aggiornamento è questa:

        

public Partner UpdatePartner(string Name_SI, int IdPartner)
        {
       
            /* aggiorno i dati */
            using (myEntities ctx = new myEntities())
            {
                p = (from item in ctx.PartnerSet where item.IdPartner == IdPartner select item).First();
                p.Name_SI = Name_SI;

                ctx.SaveChanges();

                ctx.Detach(p);
            }

            return p;
        }


Per tutta la durata della funzione la proprietà p.Name_SI mi mantiene il carattere corretto, a questo punto però non so cosa succede durante il ctx.SaveChanges().

Qualche suggerimento?
Grazie mille
Fabio
97 messaggi dal 15 marzo 2001
Semplicemente ...
sul Server IIS Manager - Proprietà - Settare la codifica UTF-8
Se non hai permessi per modificare settaggio server inserire il meta-tag
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

all'interno della pagina asp.net

............ semplicemente
23 messaggi dal 18 aprile 2002
Grazie frever per il tentativo, purtroppo nulla da fare, avevo già impostato il charset nella masterpage.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.