| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2690 人关注过本帖
标题:请教一个在VFP中输入UNICODE扩展字符的问题
只看楼主 加入收藏
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
看了这个,我想你知道怎么用了。

unicode.zip (243.09 KB)

授人以渔,不授人以鱼。
2011-09-05 20:28
XTWQK
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-9-3
收藏
得分:0 
我在"汉典"下载了一个"UNICODE6.0",里面有CJK-EXT-A,B,C,D及PUA字符,其中汉字七万五千多.“乙乚乛𠃊𠃋𠃌𠃑𠄌𠄎𡿨”这些字中后七个字在VFP6中不能显示。你试试看。这些字符对我意义很大,不用不行。
2011-09-05 22:43
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
后面的已经是4字节编码了,必须使用GB18030代码页,那个映射表较复杂,要重新做一个。

授人以渔,不授人以鱼。
2011-09-05 23:02
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
关于这个问题,由于你要用到GB18030代码页,但微软在当今的Windows产品中并没有开放这个代码页(CP54936)可供我们使用,目前为止要随意地显示那七万个多字并不那么轻松。我也装了那个UniFonts6.0字库,但在程序和控制面板中都搞不清楚它对应的是哪个字库,尽管我有转码的资料,但找不到字库等于白搭。你能找到它(们)吗?

授人以渔,不授人以鱼。
2011-09-05 23:41
XTWQK
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-9-3
收藏
得分:0 
找到这样一份资料,您看有用吗?
   CJK基本   [4E00-9FFF]    20992码位 实际20940字
  CJK扩展A   [3400-4DBF]    6592码位  实际6582字
  CJK扩展B   [20000-2A6DF]  42720码位 实际42711字
  CJK扩展C   [2A700-2B73F]  4159码位  实际4149字
  CJK扩展D   [2B740-2B81F]  224码位  实际222字
  CJK兼容扩展  [2F800-2FA1F]  544码位  实际542字
  CJK部首扩展  [2E80-2EFF]    128码位  实际115字
  CJK康熙部首  [2F00-2FDF]    224码位  实际214字
  CJK笔画    [31C0-31EF]    48码位   实际36字
  CJK兼容      [F900-FAFF]    512个码位  实际477字
  PUA(GBK)   [E815-E86F]    90个码位   实际80字
  PUA部件扩展  [E400-E5FF]    511个码位  实际452字
  PUA缺字增补  [E600-E6BF]    191个码位  实际185字
我试验过,五位数的都不能显示,四位数的能.
2011-09-06 08:17
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
五位以上十六进制的就是四字节Unicode码,即UTF-32,七万多字,要用GB18030代码页才能实现。我30楼给你的是GBK代码页,显示两万多字,其中包括PUA。当前大陆中文Windows都是CP936代码页,系统只能识别两字节(四位十六进制)的编码UTF-16,对四字节的UTF-32视为乱码(这就是看到??的原因),如果要在这样的系统上显示全部UTF-32字型,必须要拥有对应字库,然后是通过取字模画图显示。那个UniFonts6.0,如果能找到它的字库文件和造字程序,就有办法。

[ 本帖最后由 TonyDeng 于 2011-9-6 10:44 编辑 ]

授人以渔,不授人以鱼。
2011-09-06 08:29
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
现在想一下,你需要用到的是有限个字数吧,不会全要七万多个字?

授人以渔,不授人以鱼。
2011-09-06 10:43
XTWQK
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-9-3
收藏
得分:0 
未按装UNICODE6.0之前,就能显示二万七千多字,这可能就是所说的GBK代码页.按装之后,还能显示正常,也能显示PUA,就是不能显示五位的.最好能显示七万五千字,不然,就没意义了,谢谢老师.
我原以为,改个设置就可以了,现在看来,很困难.想放弃VFP了,(因我在ACCESS上试过,可以,在EXCEL上试过,也可以,只是稍有不便)
我不理解您所说的"对应字库"是指什么东西?
2011-09-06 10:58
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
找到这个字库了,前面说的七个是指这堆汉字吧?


授人以渔,不授人以鱼。
2011-09-06 11:14
XTWQK
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-9-3
收藏
得分:0 
我似乎明白您所说的"对应字库"是什么意思了,是指"字体库"对吧?(应当指出,某些字体库内没有这些字当然显示不出来.)
我曾在WORD'宋体"中试用过这些字,可以显示,但每个字要占两个字位,既显示这个字,又显示其后的一个空格,复制时,若只复制前面的字而不复制后面的空格,就不能正确粘贴.后在"汉典"请教一位老师,说把字体改为SIMSUN-EXTB,就可以了.试了一下,果然可以了.
但,我把VFP中的字体也改成后,发现还是不能输入!这时才到这里请教.
2011-09-06 13:40
快速回复:请教一个在VFP中输入UNICODE扩展字符的问题
数据加载中...
 
   



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

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