韓文數(shù)據(jù)庫存取亂碼解決方案
這段時間客戶提出要將發(fā)布韓文的需求,蠻麻煩的,解決了存入數(shù)據(jù)庫和顯示的問題,但是數(shù)據(jù)修改的時候很麻煩,雖然問題不大,但是很惱人,找了一天了,還是沒有很好的解決方案,就自己寫了一個,問題是解決了,但是個人認為肯定還有更好的解決方案,希望各位不吝賜教!
一、韓文存入數(shù)據(jù)庫解決方案
1.數(shù)據(jù)庫存儲多語言的字段要用NText or Nvarchar,才支持多語言,以unicode存儲
2.Sql語句如 insert table (a) values(N'value')才可以,update也同樣了
3.web頁面要用utf-8編碼,最好加上<META http-equiv="Content-Type" content="text/html; charset=Unicode">
二、顯示數(shù)據(jù)庫中的韓文
韓文存到數(shù)據(jù)庫中,HTML格式的如:& # 5 1 0 6 4 ;& # 5 3 5 5 2 ;& # 4 5 3 6 7 ; (인터넷 )
我添加到數(shù)據(jù)庫中,顯示的時候沒有問題,因為用HTML控件就可以解決了,如:DIV,總之在HTML格式下面就能解決的。
三、修改數(shù)據(jù)庫中的韓文
修改數(shù)據(jù)庫中的韓文分二種情況:
1、HTML編輯器:這個就是支持HTML的,所以根本不需要理會就可以直接轉(zhuǎn)換,不需要我們操心
2、對于標題之類的短的文字,我們采用的TextBox中就出現(xiàn)了大問題,他顯示不了韓文顯示的效果是& # 5 1 0 6 4 ;& # 5 3 5 5 2 ;& # 4 5 3 6 7 ;(인터넷 ),這個我找了很久的解決的方案,都沒有解決的。
具體方案如下:
只要TextBox支持HTML格式就OK了,但偏偏TextBox只支持純文本,HTMLEnCode、HTMLDeCode函數(shù)無計可施。
此時我采用一個使用HTML作為中轉(zhuǎn)的方案暫時解決了修改韓文的問題
步驟:
1 前臺建立一個服務(wù)器端DIV:<div id="txtChg" runat="server"></div>
2 后臺將HTML格式數(shù)據(jù)賦值到DIV上
txtChg.InnerHtml = Dr["sContent"].ToString();
3 隱藏Div:txtChg.Attributes["style"] = "display:none";
4 前臺將Div的數(shù)值賦給TextBox:onload="javascript:document.getElementById('txtTitle').value = document.getElementById('txtChg').innerHTML"
全國統(tǒng)一免費服務(wù)電話
800-82-98988
專業(yè)網(wǎng)站建設(shè)咨詢電話
028-66533110
028-66533120
24小時移動總機
15902883120
天府星空05號:張小姐
負責范圍:域名主機、網(wǎng)站建設(shè)
免費熱線:400-028-5488
在線聯(lián)絡(luò):QQ:800002030
電子郵件:sale@tfxk.com
負責范圍:業(yè)務(wù)咨詢、疑問解答
免費熱線:400-028-5488
在線聯(lián)絡(luò):QQ:80002030
電子郵件:sale@tfxk.com