2011-07-16 61 views
1

我正在使用azure aql作爲我正在編寫的Windows Phone應用程序的後端。我使用odata協議公開數據庫,並使用odata客戶端庫讀取和寫入數據庫。我遇到了插入中文字符串的問題。每個中國人的文字都會顯示爲「?」在分貝。 以下是代碼。使用調試器,我可以告訴,在BeginSaveChanges調用之前,漢字仍處於寫入格式。 db中的相應字段被定義爲nvarchar。我可以把中文從網絡管理門戶網站上解決。使用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); 
      } 
+0

The?角色顯示數據庫中或電話中的位置?顯示時會丟失嗎? –

+0

中國人在數據庫中輸了。如果我通過門戶網站把中文加入數據庫,中文在電話上顯示得很好。我不能將中文插入數據庫。 – sunxin8086

+0

通過什麼網絡門戶?你從哪裏插入數據庫? –

回答

0

您必須在列上設置中文的排序規則,我認爲。更多... http://blogs.msdn.com/b/sqlazure/archive/2010/06/11/10023650.aspx

順便說一句 - 我不清楚你在閱讀你的問題 - 這聽起來像你說的數據庫存儲中國罰款,當你使用Web門戶插入它;但可以推測,當你使用其他方法插入它時,它不會存儲中文。 (?)那是你在說什麼?

+0

是的。當我試圖從我的應用程序使用odata客戶端庫以編程方式插入時,它在數據庫中顯示爲「?」 – sunxin8086