为什么SQL数据库表中的text字段(备注字段)在VFP远程视图中显示为乱码?

时间:2023-02-07 13:23:13
   为什么SQL数据库表中的text字段(备注字段)在VFP远程视图中显示为乱码?如何解决?敬向电脑专家请教,不胜感激!

11 个解决方案

#1


本帖最后由 apple_8180 于 2012-11-20 11:57:40 编辑
Text字段 内容是什么,是如何写入的?

#2


sql数据库表Text字段内容是用汉字表示的商品说明,在sql server的企业管理器中进行表查阅时可以清楚地显示汉字说明,但到了VFP远程视图中进行查阅时却显示为怪符号,不知是何原因?

#3


你是在 vfp 端如何写入的,未编码?

#4


   我查阅的sql数据库表是别人开发的一个已知软件中的SQL表,我通过VFP远程视图通过局域网进行远程查阅,发现其中的备注字段显示的内容全部是怪符号,但通过sql server的企业管理器进行同样的远程数据库表查阅时可以清楚地年到该备注字段显示的汉字说明。 

#5


该回复于2012-11-20 14:46:30被版主删除

#6


在你程序开头加如下代码试试:
Sys(987,.T.)

#8


十豆三老师:十分感谢您的热心指导!
   我通过VFP远程视图查阅sql数据库表中的数据,发现远程视图中的备注型字段(显示Memo)击开后全部为乱码,后从SQL server的企业管理器中再仔细检查数据源sql表中的该字段类型,发现不是text型字段,而是字符型(nvarchar型)字段,但该字段的字节数设置为300,超过了VFP中的字符型字段的最大允许长度,所以在远程视图中显示为备注型字段(Memo)模式与乱码。我将数据源sql表中的该字段字节数改为200后,远程视图表中的该字段值显示即正常。
   我向您请教,如果不修改sql表中字节数超过260的字符型字段(因为别人开发的SQL软件是只允许查阅不允许修改的),如何通过VFP远程视图查阅sql数据库表中的字节数超过260的字符型字段数据?敬请指导,不胜感激!

#9


6楼方法试过了?
另外:
SQL Server表中的字段长度在255以内也够用的话,就把SQL Server中的这个字符型字段长度改为254。
如果这个字段内容确实超过了254,就只能用MEMO对应了,或者只取字段内容的前254位(视图设置长为254或视图代码取前254位)。

#10


十豆三老师:非常感谢您的热心指导!
   问题解决了。我在远程视图的代码中,将该字段显示的数据类型由M改成了C(200),就能正确显示了。
   再次感谢您的指导!

#11


引用 10 楼 ZJM84862915 的回复:
十豆三老师:非常感谢您的热心指导!
   问题解决了。我在远程视图的代码中,将该字段显示的数据类型由M改成了C(200),就能正确显示了。
   再次感谢您的指导!
建议你设为 C(254) 或 V(254),因为如果字段内容超过了200就会取不到了,即使这样如果字段内容超过了254,也是取不到,但254会比200保险一点。这就是我9楼说的视图设置长为254

#1


本帖最后由 apple_8180 于 2012-11-20 11:57:40 编辑
Text字段 内容是什么,是如何写入的?

#2


sql数据库表Text字段内容是用汉字表示的商品说明,在sql server的企业管理器中进行表查阅时可以清楚地显示汉字说明,但到了VFP远程视图中进行查阅时却显示为怪符号,不知是何原因?

#3


你是在 vfp 端如何写入的,未编码?

#4


   我查阅的sql数据库表是别人开发的一个已知软件中的SQL表,我通过VFP远程视图通过局域网进行远程查阅,发现其中的备注字段显示的内容全部是怪符号,但通过sql server的企业管理器进行同样的远程数据库表查阅时可以清楚地年到该备注字段显示的汉字说明。 

#5


该回复于2012-11-20 14:46:30被版主删除

#6


在你程序开头加如下代码试试:
Sys(987,.T.)

#7


#8


十豆三老师:十分感谢您的热心指导!
   我通过VFP远程视图查阅sql数据库表中的数据,发现远程视图中的备注型字段(显示Memo)击开后全部为乱码,后从SQL server的企业管理器中再仔细检查数据源sql表中的该字段类型,发现不是text型字段,而是字符型(nvarchar型)字段,但该字段的字节数设置为300,超过了VFP中的字符型字段的最大允许长度,所以在远程视图中显示为备注型字段(Memo)模式与乱码。我将数据源sql表中的该字段字节数改为200后,远程视图表中的该字段值显示即正常。
   我向您请教,如果不修改sql表中字节数超过260的字符型字段(因为别人开发的SQL软件是只允许查阅不允许修改的),如何通过VFP远程视图查阅sql数据库表中的字节数超过260的字符型字段数据?敬请指导,不胜感激!

#9


6楼方法试过了?
另外:
SQL Server表中的字段长度在255以内也够用的话,就把SQL Server中的这个字符型字段长度改为254。
如果这个字段内容确实超过了254,就只能用MEMO对应了,或者只取字段内容的前254位(视图设置长为254或视图代码取前254位)。

#10


十豆三老师:非常感谢您的热心指导!
   问题解决了。我在远程视图的代码中,将该字段显示的数据类型由M改成了C(200),就能正确显示了。
   再次感谢您的指导!

#11


引用 10 楼 ZJM84862915 的回复:
十豆三老师:非常感谢您的热心指导!
   问题解决了。我在远程视图的代码中,将该字段显示的数据类型由M改成了C(200),就能正确显示了。
   再次感谢您的指导!
建议你设为 C(254) 或 V(254),因为如果字段内容超过了200就会取不到了,即使这样如果字段内容超过了254,也是取不到,但254会比200保险一点。这就是我9楼说的视图设置长为254