VFP9 更新SQL表中文字段时出现乱码,加了N也一样乱码,请哪位朋友可以告知更好的方法吗?

于之 2015-06-02 11:54:06
VFP9 更新SQL表中文字段时出现乱码,加了N也一样乱码,请哪位朋友可以告知更好的方法吗?

nname="N'"+ALLTRIM(thisform.text5.Value)

gx="update userinfo set name=?nname..."

..

这样出现乱码, 不知有什么方法能够解决这个问题,谢谢!

注:
试过了:
nname=ALLTRIM(thisform.text5.Value)

或者:
nname="N'"+ALLTRIM(thisform.text5.Value)

或者:
nname=thisform.text5.Value

..

均出现乱码!唉。郁闷~~~


...全文
341 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
于之 2015-06-03
  • 打赏
  • 举报
回复
引用 6 楼 xuzuning 的回复:
指令串应该这样写吧?
name = '测试'
gx = "update userinfo set name=N'&name'"
太谢谢了!!! 原来是这样写啊,我一直是用 ?变量 这样的写法,从来没有用 &变量 ,去更新过SQL。 我这是第一次知道SPT更新SQL还可以这样写啊! 可以了,太谢谢了!!!
xuzuning 2015-06-03
  • 打赏
  • 举报
回复
指令串应该这样写吧?
name = '测试'
gx = "update userinfo set name=N'&name'"
于之 2015-06-02
  • 打赏
  • 举报
回复
我试着在连接串中加了:AutoTranslate=No 然后,再次更新,结果字段中显示为: ³ÂÑà±ù 奇怪 如果我这样 gx="update userinfo set name=N'测试'..." 这样字段中会正常显示为:测试 但如果采用变量更新 gx="update userinfo set name=?nname..." ,则更新后的字段中仍然显示为乱码, 为什么会这样呢? 望再指教,谢谢!
xuzuning 2015-06-02
  • 打赏
  • 举报
回复
SQL_Latin1_General_Cp1_CS_AS 这是欧洲字符集,中文字符被拆分,按字节保存了 链接串中 AutoTranslate=No 阻止自动识别字符集 细节你可到网上搜一下,记不太清了
于之 2015-06-02
  • 打赏
  • 举报
回复
我查了SQL的排序规则是: SQL_Latin1_General_CP1_CI_AS 我的SQL 2008 R2 版本:Microsoft SQL Server Management Studio 10.50.2500.0
于之 2015-06-02
  • 打赏
  • 举报
回复
哦,怎么在连接串中指定排序规则或阻止自动字符集识别呢? 望指教,谢谢!
xuzuning 2015-06-02
  • 打赏
  • 举报
回复
N 不是随便加的,只有字段类型是 NVARCHAR、NCHAR、NTEXT 才可以加 因为 N 表示使用 unicode 编码存储 看样子你使用了高版本 SQL Server, 你可先查询一下他是定的排序规则是什么 再考虑在连接串中指定排序规则或阻止自动字符集识别

2,722

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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