A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 蓝汝逸 黑马帝   /  2012-3-26 10:33  /  1769 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我们在向数据库插入insert into city values(3,N’温州市',12)时,为什么要在‘温州市’前面加个N啊?可不可以换成其他的??

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

5 个回复

倒序浏览
加N避免出现乱码,有可能该字段的类型是varchar,varchar存汉字可能出现乱码。加N避免这种情况

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
中文前加N表示插入的字符串用Unicode编码,这样就不会出现乱码。

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
一般在定义表的时候。需要输入中文的字段用 nvarchar 替代varchar就不会出现这样的问题。出现乱码跟按照sqlserver时选择的默认字符语言是有关系的。希望对你有帮助。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
加个N代表你的字符串支持的是中文,便于让数据库理解,否则他会当成varchar或char来进行处理,于是便产生了乱码。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
加N代表你的字符串支持的是中文,日文,韩文等亚洲国家的字体。
还可以有其他的处理方式
1 将对应字段的数据类型改成nchar或nvarchar.
2 在工具中设置对中文,日文,韩文等亚洲国家的字体存储的方式。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马