pein6tx
pein6tx
采纳率0%
2015-05-20 07:06

在sqlserver 数据库表中插入中文,查看表,中文显示乱码

sprintf(szSQL,"insert into %s (fromid,toid,time,msg,fontface,fontsize,fontcolor,fontflags) VALUES (%u,%u,%u,'%s','%s',%u,%u,%u)",TABLE_IM_MSG,ulFromID,ulToID,tCurrentTime,strMsg.c_str(),strfontface.c_str(),fontsize,fontcolor,fontflags);

然后执行execute(szSQL ),然后查看表,msg字段的值显示中文乱码,但是英文是没问题的

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

8条回答

  • day_moon day_moon 6年前

    试一下:insert into promary values(1,N'北京市') 。既:插入语句中有中文前加一个N

    点赞 2 评论 复制链接分享
  • wsh1992o 存钱买冰棍 6年前

    一、登陆“Microsoft SQL Server Management Studio”,然后选择对应的数据库的属性,打开属性标签。
    二、找到编码属性“collation”,然后修改为Chinese_PRC 即可

    点赞 2 评论 复制链接分享
  • kfrght 宝龙哥 6年前

    要显示使用Unicode 编码的数据库字段中存储的字符时,必须使用类似这样的语句:select * from table where title like N'%标题%'

    就是将要查询的字符串前面的“'”,的前面加上一个大写的“N”,形如“N'”,N和‘之间必须紧挨着,中间不能有空格

    点赞 1 评论 复制链接分享
  • wra222 温瑞安 6年前

    在你要插入的中问前加“N” 例如 insert table values(N'插入的值')

    点赞 1 评论 复制链接分享
  • guwei4037 极简吧 6年前

    看下出问题的字段类型是否为nvarchar类型。

    点赞 1 评论 复制链接分享
  • k4111 k4111 6年前

    我最近也遇到这样问题,请问解决了么?

    点赞 评论 复制链接分享
  • pein6tx pein6tx 6年前

    各位注意啊,我的问题是,我在数据库里直接执行查询语句

    insert into uvc_ims_msg (msg) values ('你好')

    是不会出现乱码滴,只有当在程序里调用SQL语句,才会出现乱码

    点赞 评论 复制链接分享
  • wo1376200 Ktz0070 6年前

    字符集问题 你讲数据库的字段字符集和输入输出的字符集设置成一样的 就不会有这种问题了

    点赞 评论 复制链接分享

相关推荐