还是unicode的问题,郁闷死了。。。。。,不敢说难度系数了:(

when 2003-07-20 10:04:22
我把韩文数据通过如下方式转换后,在c#程序里显示没问题,可是写入sql server的uvarchar字段后全部变成"??? ??? ???"的乱码了,怎么回事哦,我烦死了:(((


using System;
using System.Text;

...

Encoding eJapan = Encoding.GetEncoding(932); // 932 日语代码页,你的机器上必须支持。
Encoding eKorea = Encoding.GetEncoding(949); // 949 韩文代码页,你的机器上必须支持。

string strJapan = eJapan.GetString(bytesJapan); // bytesJapan 是已获得的日语字节数组
string strKorea = eKorea.GetString(bytesKorea); // bytesJapan 是已获得的韩文字节数组


这样获取得两个字符串,就是 Unicode 格式的了。
...全文
25 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
aspcn 2003-07-21
  • 打赏
  • 举报
回复
楼主能否给几个韩文测试一下?
liduke 2003-07-21
  • 打赏
  • 举报
回复
是不是sql中的uvarchar类型有问题
AhBian 2003-07-21
  • 打赏
  • 举报
回复
1. 我看不懂以下两句的真实意图是什么
str_name=odbc_reader["name"].ToString();//从数据库取得的数据
str_name="Korea";

2.你清楚 System.Text.Encoding.Default 在你的机器上返回的是什么代码页吗?
在我的机器上 GB2312。应该使用 Encoding.Unicode 替代之。

3. 为什么 str_Country 不需要代码页转换?
CanTop 2003-07-21
  • 打赏
  • 举报
回复
用CONVERT。BASESTRING64试一下可以么??
when 2003-07-21
  • 打赏
  • 举报
回复
str_name=odbc_reader["name"].ToString();//从数据库取得的数据
str_name="Korea";
str_country=odbc_reader["country"].ToString();//从数据库取得的数据
//存入bytes数组
byte[] bytesKorea=System.Text.Encoding.Default.GetBytes(str_name);
Encoding eKorea=Encoding.GetEncoding(949);//949Korean代码页
str_unicode_name=eKorea.GetString(bytesKorea);// 得到转换后的字符
MessageBox.Show(str_unicode_name);//这时显示正常
str_sql="insert into test_customer (name,country) values('" + str_unicode_name + "','" + str_country + "')";
sql_cmd.CommandText =str_sql;
MessageBox.Show(str_sql);
//数据写入ql server数据库
sql_cmd.ExecuteNonQuery();//写入数据库后,发现是又“?”组成的乱码
when 2003-07-21
  • 打赏
  • 举报
回复
AhBian 2003-07-21
  • 打赏
  • 举报
回复
我这边好象没有你所说的问题。

请把读数据和写数据的代码帖出来。
angelior 2003-07-21
  • 打赏
  • 举报
回复
UP
when 2003-07-21
  • 打赏
  • 举报
回复
我写的韩都是乱码
when 2003-07-21
  • 打赏
  • 举报
回复
윈도우 모바일 발표
when 2003-07-21
  • 打赏
  • 举报
回复
1.str_name=odbc_reader["name"].ToString();//从数据库取得的韩文数据
str_name="Korea";是测试英文字符转换后会不会边乱码,没用的
2.这句话可能我理解错了,不过我通过MessageBox显示是正确的

3.str_country是英文的,所有不要页码转换.

when 2003-07-20
  • 打赏
  • 举报
回复
AhBian,等你的信息哦
AhBian 2003-07-20
  • 打赏
  • 举报
回复
在测试前,我提醒一句,把这些数据把保存到 BINARY 类型的字段中试试。
AhBian 2003-07-20
  • 打赏
  • 举报
回复
原来你已把字段类型改成 U... 了。在给你的留言时,我以为你用的还是原来的字段类型。

我测试一下。不见回帖,那么我没办法。因为我从来没做过这种与日、韩文有关的项目。
panyee 2003-07-20
  • 打赏
  • 举报
回复
不是不帮啊,苦于一般人都没那环境啊,测都没法测
when 2003-07-20
  • 打赏
  • 举报
回复
又只有百云来gz,怎么没有人帮小弟阿:(
wzs_wzs123 2003-07-20
  • 打赏
  • 举报
回复
gz

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧