当前位置:编程学习 > C#/ASP.NET >>

asp.net页面上的数据存到数据库有些字段为乱码!!!!

如上图
页面是combox 存入数据库就变成这样了 --------------------编程问答-------------------- 上海销???分公司,?????分公司 如果看不到图片 就是这种结果 --------------------编程问答-------------------- 数据库中次字段的数据类型是什么,可能是数据类型问题 --------------------编程问答-------------------- 数据类型是varchar 我是sqlserver2008 --------------------编程问答-------------------- 数据库字符集问题吧! --------------------编程问答--------------------
引用 4 楼 u011458723 的回复:
数据库字符集问题吧!
 这种情况不是经常出现,只是偶尔,而且还是某些字段,貌似全部都是combox才会出现这种情况,我想应该是输入端的问题 但不知道是啥问题 --------------------编程问答--------------------
引用 3 楼 gcluofeng 的回复:
数据类型是varchar 我是sqlserver2008


如果要保存中文,不要写varchar,使用nvarchar。 --------------------编程问答--------------------
引用 6 楼 sp1234 的回复:
Quote: 引用 3 楼 gcluofeng 的回复:

数据类型是varchar 我是sqlserver2008


如果要保存中文,不要写varchar,使用nvarchar。
为啥啊?区别不大啊 --------------------编程问答--------------------
引用 6 楼 sp1234 的回复:
Quote: 引用 3 楼 gcluofeng 的回复:

数据类型是varchar 我是sqlserver2008


如果要保存中文,不要写varchar,使用nvarchar。
 为什么要用nvarchar 而不用varchar 啊  --------------------编程问答-------------------- 你DeBug的时候数据显示正常吗? --------------------编程问答--------------------
引用 8 楼 HELLO456 的回复:
Quote: 引用 6 楼 sp1234 的回复:

Quote: 引用 3 楼 gcluofeng 的回复:

数据类型是varchar 我是sqlserver2008


如果要保存中文,不要写varchar,使用nvarchar。
 为什么要用nvarchar 而不用varchar 啊 

varchar(n)
长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。

nvarchar(n)
包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。

两字段分别有字段值:我和coffee
那么varchar字段占2×2+6=10个字节的存储空间,而nvarchar字段占8×2=16个字节的存储空间。

如字段值只是英文可选择varchar,而字段值存在较多的双字节(中文、韩文等)字符时用nvarchar

上面是一个总结介绍,通过上面的介绍,可以知道。

varchar(4) 可以输入4个字线,也可以输入两个汉字

nvarchar(4) 可以输四个汉字,也可以输4个字母,但最多四个 --------------------编程问答-------------------- 确实是数据类型的错误! 你先确定数据库的类型,在代码里面转换为你要的类型 --------------------编程问答-------------------- 如果遇到编码问题,首先要想到的是编码
补充:.NET技术 ,  .NET Framework
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,