关于ado的乱码

treble_h 2008-07-17 12:06:12
我用c#写了个winform,用ado读数据,数据库是简体的
在中文系统运行没问题
可是在繁体系统运行读出的中文会有些乱码
应该是编码问题,怎么解决
...全文
79 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fang1572 2008-07-17
  • 打赏
  • 举报
回复
1.数据库中要使用unicode字段 nvarchar
2.然后使用支持unicode的控件来显示,下面这个方法不知道行不行,楼主试下
Control panel-->区域和语言选项-->高级:新增简体中文.注意:你的默认语言仍为"繁体",可能要重新启动.
fang1572 2008-07-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 LAOC 的回复:]
MessageBox.Show(_rs.Fields[0].Value.ToString());//在繁体系统,这里是简体会乱码

你把这改成:
Response.Write(" <script>alert((_rs.Fields[0].Value.ToString()) </script>");
[/Quote]
MessageBox.Show()
实现的也应该就是这个吧
LAOC 2008-07-17
  • 打赏
  • 举报
回复
MessageBox.Show(_rs.Fields[0].Value.ToString());//在繁体系统,这里是简体会乱码

你把这改成:
Response.Write("<script>alert((_rs.Fields[0].Value.ToString())</script>");
treble_h 2008-07-17
  • 打赏
  • 举报
回复
对阿,但是在繁体系统中_rs.Fields[0].Value.ToString()变成乱码
fang1572 2008-07-17
  • 打赏
  • 举报
回复
_rs.Fields[0].Value.ToString()是简体中文吧
treble_h 2008-07-17
  • 打赏
  • 举报
回复
我的代码
_rs.Open("SELECT * FROM table", _conn, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic, (int)ADODB.CommandTypeEnum.adCmdText);
MessageBox.Show(_rs.Fields[0].Value.ToString());//在繁体系统,这里是简体会乱码
有没了解adodb的

数据库不能改的
LAOC 2008-07-17
  • 打赏
  • 举报
回复
或者把数据库里的字段类型varchar改成nchar试试。
注:
存放中文字体的Varchar型
LAOC 2008-07-17
  • 打赏
  • 举报
回复
http://it.sinoeb.cn/%CD%F8%D5%BE/Javascript%BC%BC%CA%F5/%BC%F2%B7%B1%D7%AA%BB%BBJS%B5%F7%D3%C3.html

用个方法转换一下

62,104

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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