sql 输入汉字乱码问题

infomationtechnology 2012-11-26 11:38:04
在查询分析器运行insert into table (clom) values('汉字')注入成功且无乱码,SELECT 值为CHINESE_CHINA.ZHS16GBK 汉字显示正常。
网页的传入的参数汉字显示正常,就是在 .cs 文件下通过HBHELP 添加数据后,注入的汉字为乱码。
我已将字符串改为
String s = "insert into table (clom) values (N'汉字')"; 还是没用。不知道哪的原因了。
求大虾指教。 急。
...全文
157 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
问题自己解决,太奇葩了.
csdn_风中雪狼 2012-11-26
  • 打赏
  • 举报
回复
没有遇到过, 去sql版,问问看看
  • 打赏
  • 举报
回复
引用 3 楼 hjywyj 的回复:
http://www.cnblogs.com/tonytonglx/articles/2093179.html
这个我看过了,题目说错了,那值是 Chinese_PRC_CI_AS。 期待答案中。。。
attidust 2012-11-26
  • 打赏
  • 举报
回复
赞3楼!
  • 打赏
  • 举报
回复
引用 1 楼 gefangliang 的回复:
字段类型是varchar还是nvarchar,如果是前者,请改成后者
nvarchar
心灵彩虹 2012-11-26
  • 打赏
  • 举报
回复
字段类型是varchar还是nvarchar,如果是前者,请改成后者
  • 打赏
  • 举报
回复
纯数据库操作无问题,应该是C#写的问题。 结果能插入,就是有乱码,应该不是语法的问题。 到底是什么问题呢!!!!快疯
由于历史的原因,早期的oracle没有中文字符集(如oracle6、oracle7、oracle7.1),但有的用户从那时起就使用数据库了, 并用US7ASCII字符集存储了中文,或是有的用户在创建数据库时,不考虑清楚,随意选择一个默认的字符集,如WE8ISO8859P1或US7ASCII,而这两个字符集都没有汉字编码,虽然有些时候选用这种字符集好象也能正常使用,但用这种字符集存储汉字信息从原则上说就是错误的,它会给数据库的使用与维护带来一系列的麻烦。正常情况下,要将汉字存入数据库,数据库字符集必须支持中文,而将数据库字符集设置为US7ASCII等单字节字符集是不合适的。US7ASCII字符集只定义了128个符号,并不支持汉字。另外,如果在SQL*PLUS中能够输入中文,操作系统缺省应该是支持中文的,但如果在NLS_LANG中的字符集设置为US7ASCII,显然也是不正确的,它没有反映客户端的实际情况。但在实际应用中汉字显示却是正确的,这主要是因为Oracle检查数据库与客户端的字符集设置是同样的,那么数据在客户与数据库之间的存取过程中将不发生任何转换,但是这实际上导致了数据库标识的字符集与实际存入的内容是不相符的。而在SELECT的过程中,Oracle同样检查发现数据库与客户端的字符集设置是相同的,所以它也将存入的内容原封不动地传送到客户端,而客户端操作系统识别出这是汉字编码所以能够正确显示。

110,535

社区成员

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

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

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