J'utilise azure aql comme backend pour une application Windows Phone que j'écris. J'expose le db en utilisant le protocole odata, et en utilisant la bibliothèque client odata pour lire et écrire db. J'ai un problème pour insérer des chaînes chinoises. Chaque charatcter chinois apparaîtra comme "?" dans le db. Ce qui suit est le code. À l'aide du débogueur, je peux dire, le caractère chinois est toujours dans le format d'écriture avant l'appel BeginSaveChanges. Le champ correspondant dans la base de données est défini comme nvarchar. Je peux mettre chinois sans problème depuis le portail de gestion web.Insérer chinois à l'aide du client odata à azure sql
NewJoke.Title = Regex.Replace(NewJoke.Title, "'", "''");
NewJoke.Content = Regex.Replace(NewJoke.Content, "'", "''");
dsc = new DataServiceContext(funnyJokesUri);
try
{
//Name of the entity goes into the first attribute of the AddObject method followed by the entity itself
//INSERTING
dsc.AddObject("Jokes", NewJoke);
dsc.BeginSaveChanges(insertJoke_Completed, dsc);
}
Le? Caractère apparaît où, dans la base de données ou sur le téléphone? Est-ce qu'il se perd quand vous l'affichez? –
Le chinois perdu dans le db. Si je mets chinois dans le db à travers le portail web, les chinois étaient bien affichés sur le téléphone. Je ne peux pas insérer de chinois dans le db. – sunxin8086
À travers quel portail web? D'où insérez-vous dans le db? –