2017-04-24 63 views
2

我目前正在使用C#編寫Web應用程序。擴展字符不顯示C#

其中一個在線表單允許用戶更新他們的地址。

然而,當我例如輸入:ÀîâãäåæéêìñóôõăąăĂąĄ到任何地址信息

,然後搜索相同的用戶再次顯示在屏幕上like this他們的地址。

正如你所看到的最後一個字符似乎是錯誤的。

數據庫也是錯誤的。

在我發送更新之前,我是否需要對字符串做些什麼,此刻我只是將文本字段中的任何內容轉換爲大寫,並將信息發送到我的存儲過程。

,@p_AddressLine1 char(40)=NULL 
,@p_AddressLine2 char(40)=NULL 
,@p_AddressLine3 char(40)=NULL 
,@p_AddressLine4 char(40)=NULL 
,@p_AddressLine5 char(40)=NULL 

請大家幫忙。注意我試過改用nchar - 但我認爲這可能是C#的東西? 感謝

user.PostCode = this.tbPostCode1.Text.ToUpper().Trim() + " " + this.tbPostCode2.Text.ToUpper().Trim(); 
     user.AddressLine1 = this.txtAddressLine1.Text.ToUpper().Trim(); 
     user.AddressLine2 = this.txtAddressLine2.Text.ToUpper().Trim(); 
     user.AddressLine3 = this.txtAddressLine3.Text.ToUpper().Trim(); 
     user.AddressLine4 = this.txtAddressLine4.Text.ToUpper().Trim(); 
     user.AddressLine5 = this.txtAddressLine5.Text.ToUpper().Trim(); 



     user.Update(user); 
+0

什麼是數據庫默認排序規則?例如'select serverproperty('collat​​ion')' –

+0

SQL_Latin1_General_CP1_CI_AS – ck29

+0

當您在呈現網頁上的信息之前使用調試器時,該值是否仍然錯誤?另外,請閱讀[this](http://stackoverflow.com/questions/1696619/displaying-unicode-symbols-in-html) – CodingYoshi

回答

0

你正在處理的擴展字符集不能存放在char字段類型,你只能使用該ncharnvarchar,但要注意有關該會採取Unicode字符的空間要求兩倍的空間。

這是一個很好的answer解釋的差異和here是你應該使用的數據類型的文檔,而不是。

+0

非常感謝你的工作! 在CSV不過未來通過錯的 - 通過自帶的: À Î Â Ã Ä Å Æ É Ê Ì Ñ Ó Ô ÕÄ,Ä「Ä,Ä,Ä「A「 – ck29

+0

這一次,它看起來更像是Unicode字符編碼作爲HTML實體 –