日期:2014-05-18 浏览次数:21076 次
using System;
using System.Text;
// 维文转换成base64,以便写入数据库
public static string ToEncoding(string plainText)
{
    // 获取你要的文字的字符编码,维文的编码标准;
    // xxxx 表示维文的标准
    Encoding e = Encoding.GetEncoding("xxxx");
    // 把原文变成byte 数组
    byte[] temp = e.GetBytes(plainText);
    // 变成base64字符编码
    string target = Convert.ToBase64String(temp);
    // 返回结果
    return target;
}
// 数据库的内容变成维文,可以显示
public static string FromEncoding(string base64Text)
{
    // 获取维文的编码集
    Encoding e = Encoding.GetEncoding("xxxx");
    // 转换成byte 数组
     byte[] temp = Convert.FromBase64String(base64Text);
    // 转换成维文
    string target = e.GetString(temp);
    // 返回结果
    return target;
}
// 使用方法
string s = "?????? ?????????";
// 变成 base64 编码
string txtToDb = ToEncoding(s);
// 这个txtToDb 可以写入任何数据库
// 从数据库获取的文本经过转换可以变成原文
string txtFromDb = FromEncoding(txtToDb);
------解决方案--------------------
嗯.非常同意LS...
^o^
Sql Server 不能直接保存特殊字符的...
所以要先处理字符的编码...
------解决方案--------------------
   是维语,我也是新疆的,你实在不行就用新维语吧,新维语是英文的他们都可以读懂的。
   试下维语字库,我见过一个朋友用哈语的字库,大概50个字母的,不知道维语是不是也是这样用字母拼写的,是的话可能也是存成ASC吗吧~!
   只是猜测,你找个维语网站,看看元吗,或许有收获~!
------解决方案--------------------
<script>
  var str="?????? ?????????";
str=escape(str);
alert(str);
str=unescape(str);
alert(str);
</script>
------解决方案--------------------
TomMax 的方法就是把输入的字符串转换成 ASCII码二进制,然后再存到数据库中的.当然,你数据库对应的字段类型不能是varchar了,
要改成二进制类型(sql2005)varbinary(或其他的binary).