• 韩文数据库存取乱码解决方案


    这段时间客户提出要将发布韩文的需求,蛮麻烦的,解决了存入数据库和显示的问题,但是数据修改的时候很麻烦,虽然问题不大,但是很恼人,找了一天了,还是没有很好的解决方案,就自己写了一个,问题是解决了,但是个人认为肯定还有更好的解决方案,希望各位不吝赐教!

    一、韩文存入数据库解决方案

    1.数据库存储多语言的字段要用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">


    二、显示数据库中的韩文

    韩文存到数据库中,HTML格式的如:& # 5 1 0 6 4 ;& # 5 3 5 5 2 ;& # 4 5 3 6 7 ; (인터넷 )
    我添加到数据库中,显示的时候没有问题,因为用HTML控件就可以解决了,如:DIV,总之在HTML格式下面就能解决的。

    三、修改数据库中的韩文

    修改数据库中的韩文分二种情况:
    1、HTML编辑器:这个就是支持HTML的,所以根本不需要理会就可以直接转换,不需要我们操心
    2、对于标题之类的短的文字,我们采用的TextBox中就出现了大问题,他显示不了韩文显示的效果是& # 5 1 0 6 4 ;& # 5 3 5 5 2 ;& # 4 5 3 6 7 ;(인터넷 ),这个我找了很久的解决的方案,都没有解决的。
    具体方案如下:
    只要TextBox支持HTML格式就OK了,但偏偏TextBox只支持纯文本,HTMLEnCode、HTMLDeCode函数无计可施。

    此时我采用一个使用HTML作为中转的方案暂时解决了修改韩文的问题
    步骤:
    1 前台建立一个服务器端DIV:<div id="txtChg" runat="server"></div>
    2 后台将HTML格式数据赋值到DIV上
    txtChg.InnerHtml = Dr["sContent"].ToString();
    3 隐藏Div:txtChg.Attributes["style"] = "display:none";
    4 前台将Div的数值赋给TextBox:onload="javascript:document.getElementById('txtTitle').value = document.getElementById('txtChg').innerHTML"

    OK,就这样暂时解决了这个烦人的小问题,如果哪位仁兄有更好的方案,请指教!

  • 相关阅读:
    【Android】页面切换ViewFlipper、ViewPager、ViewFlow
    【Android】9patch图片以及例子说明
    【Android】proguard混淆代码
    【iOS】ios6.0 UINavigationController支持屏幕自动旋转
    【Android】Notification官方文档归纳
    c++第一天
    c++第二天
    java第七天(布局管理器)
    Linux第一讲(韩顺平)
    java第四讲(类与对象)
  • 原文地址:https://www.cnblogs.com/skylaugh/p/766092.html
Copyright © 2020-2023  润新知