默认头像
路人甲
路人甲
  • 注册日期2003-09-17
  • 发帖数21
  • QQ
  • 铜币154枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1924回复:4

请教.net下的AO乱码问题?

楼主#
更多 发布于:2004-11-08 20:30

我使用vb.net开发ao的程序,无论从sde连接oracle和sqlserver数据库,如果查到的记录中字段值为中文,就会显示乱码。但是我用想到的方法在vb6.0中均正常,而且如果我使用arcmap添加中文字段值,一切也很正常,但是记录用vb.net读出来还是乱码?不是是什么原因!谢谢!

喜欢0 评分0
默认头像
路人甲
路人甲
  • 注册日期2004-09-06
  • 发帖数49
  • QQ
  • 铜币140枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2004-11-09 10:48
能不能更改显示汉字编码?GB-2312
举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2003-09-17
  • 发帖数21
  • QQ
  • 铜币154枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2004-11-09 16:57
但是如何更改啦!
举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2004-11-09
  • 发帖数19
  • QQ
  • 铜币167枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2004-11-13 02:03
dd
举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2003-10-21
  • 发帖数13
  • QQ
  • 铜币268枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2004-11-18 12:10

是因为编码不同的原因,通过SDE的话,默认编码是西文codePage =1252,而VS.NET2003默认编码是中文的,要改变代码,

C#

IFeature pFeature;

Object obj = pFeature.Get_Value(3);

string text =obj .toString();

Byte[] textByte = System.text.Encoding.GetEncoding(1252).GetBytes(text);

string str= System.text.Encoding.GetEncoding("GB-2312").GetString(textByte);

举报 回复(0) 喜欢(0)     评分
默认头像

返回顶部