| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1118 人关注过本帖, 1 人收藏
标题:请教关于生僻字的问题
只看楼主 加入收藏
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:638
专家分:2472
注 册:2018-3-13
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:8 
请教关于生僻字的问题
表单上有个录入姓名的文本框,如果人名中有生僻字,vfp自带的文本框就无法录入了,例如:㛃,不属于GBK字符集
试着拖一个微软的Forms.TextBox控件到表单,录入倒是没问题,可读出来还是不对,好像一读取vfp就给转换回默认编码了
原计划将姓名字段改为Blob类型,控件的ControlSource指向这个字段,如果字段内容是十六进制的0hC336的话,控件是可以显示这个生僻字的,可不管你在控件中录入啥内容再回车,被绑定的字段都不会变,永远都是原来的C336。
也试着用 lcXM = Thisform.text1.object.Value 读取,再将Strconv(lvXM,15)的值保存到姓名字段中,显示时用Strconv( ...,16)还原赋给这个控件,可读出来的lcXM已经被转换成默认编码了,㛃 也就变成了问号,也就是没法读出里面的unicode码。

请教高手们该如何读取和保存,感谢!
搜索更多相关主题的帖子: 读出 录入 控件 读取 字段 
2022-03-17 14:46
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11771
专家分:43421
注 册:2006-5-13
收藏
得分:20 
没有遇到过同类问题,也许是VFP停止更新了,不支持新的字符集造成的。实在不行的话可以考虑添加一个图片字段,然后将输入的姓名转换成图片保存。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2022-03-17 20:36
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:638
专家分:2472
注 册:2018-3-13
收藏
得分:0 
回复 2楼 hu9jj
谢谢,保存为图片只能作为无奈之选,录入的姓名要用于查询,统计和打印,需要处理的地方会太多
这算 vfp 的软肋吧,处理 unicode 字符不方便,㛃 这个字主要也就用于人名,偏偏人家还是局长

这家伙很懒,啥也没留下
2022-03-17 21:29
yiyanxiyin
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:9
帖 子:160
专家分:1079
注 册:2023-6-29
收藏
得分:0 
https://www.
2023-06-29 15:06
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:638
专家分:2472
注 册:2018-3-13
收藏
得分:0 
以下是引用yiyanxiyin在2023-6-29 15:06:34的发言:

https://www.

这个com大部分功能要钱才能用的

这家伙很懒,啥也没留下
2023-06-29 15:20
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:987
专家分:4946
注 册:2013-2-16
收藏
得分:0 
vfp原生不支持unicode,需要转换.
参考 https://bbs.bccn.net/viewthread.php?tid=505340&extra=&highlight=%D2%F4%B1%EA&page=2

总结:
保存数据, 建议用Sqlite,因为它支持utf-8.
显示数据, 要用richtxt控件,因为vfp自带的text控件不支持utf-8.
图片附件: 游客没有浏览图片的权限,请 登录注册
2023-06-29 15:21
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:638
专家分:2472
注 册:2018-3-13
收藏
得分:0 
以下是引用厨师王德榜在2023-6-29 15:21:55的发言:
保存数据, 建议用Sqlite,因为它支持utf-8.
显示数据, 要用richtxt控件,因为vfp自带的text控件不支持utf-8.

谢谢
1. 本来就存储在 sql server 中。
  即使是 dbf 也没问题,只要带上 binary (Code page translation not allowed = .T.) 即可
2. richtext 存储数据量太大,数据没有可读性,早就没人用了,所有需要格式化显示的内容我们都用 html 文本

我的问题不在这,Forms.TextBox 是 Office/WPS 都要使用的控件,不用担心安装/注册问题,且支持 unicode
另:读取 Forms.TextBox 的 unicode value 问题已使用 sys 函数解决

这家伙很懒,啥也没留下
2023-06-29 16:40
easyppt
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:239
专家分:451
注 册:2021-11-24
收藏
得分:0 
我也很闹心,这个 unicode 问题。 据说VFP有高人完全解决了这个问题,希望有人分享一下解决思路。

我读取第三方的 电商数据,卖家用户名 都是怪字符,显示全部乱码,我都无语了,这个 unicode 不会处理,和楼主情况类似啊
2023-06-29 16:51
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:638
专家分:2472
注 册:2018-3-13
收藏
得分:0 
以下是引用easyppt在2023-6-29 16:51:06的发言:

我也很闹心,这个 unicode 问题。 据说VFP有高人完全解决了这个问题,希望有人分享一下解决思路。

我读取第三方的 电商数据,卖家用户名 都是怪字符,显示全部乱码,我都无语了,这个 unicode 不会处理,和楼主情况类似啊

基于 vfp 原生控件的不支持,完美解决都是扯蛋,使用第三方控件就不能叫完美,只能算凑合着用

你这跟我恐怕不是一回事儿,我的问题是如何读出用户输入姓名中的 unicode 编码值


[此贴子已经被作者于2023-6-29 18:33编辑过]


这家伙很懒,啥也没留下
2023-06-29 17:29
快速回复:请教关于生僻字的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018801 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved