| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3507 人关注过本帖
标题:请教 从Citrix 上 Sap 拷贝数据到vfp 乱码问题
只看楼主 加入收藏
ksbbzhr
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2012-12-4
收藏
得分:0 
我发现在sap上拷贝中文    跑到vfp开发环境下   打开文件  另存文件  字体设置等对话框粘贴
能够正常显示中文的

其他诸如命令窗口   文本框  编辑框  表种所有字段 都显示问号
用asc(txt)  显示63    从剪贴板返回的字符已经变成了问号了
所以用strconv  再怎么转化  它当然仍然是问号了
2012-12-13 12:09
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你那个文本文件应该是另存过的,现在是GB2312编码,与VFP的一致。需要没有处理过的原始字符文本才行。

授人以渔,不授人以鱼。
2012-12-13 13:35
ksbbzhr
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2012-12-4
收藏
得分:0 
  我得到了原始文本 utf-8编码的   是在原来的Sap位置选择另存文本的    可是另存文本的方法太过麻烦
用拷贝到剪贴板中之后  不知道有了什么变化   
从剪贴板到vfp control +V  之后    就全部成了问号
t1.rar (232 Bytes)
2012-12-13 14:27
ksbbzhr
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2012-12-4
收藏
得分:0 
不知道vfp 能不能直接处理剪贴板中的内容    将拷贝内容直接在剪贴板中处理  
一取到vfp   就全部成问号了  无法再处理
2012-12-13 14:28
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
就是要有问号的文本。我先看看你13楼的,如果是utf-8应该是对的,因为网络环境通常就是使用utf-8编码。

授人以渔,不授人以鱼。
2012-12-13 14:30
ksbbzhr
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2012-12-4
收藏
得分:0 
或者将当前环境设置为  utf-8    Control+v  或许可以解决问题了
2012-12-13 14:31
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
对的,是UTF-8 BOM编码格式。

授人以渔,不授人以鱼。
2012-12-13 14:32
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
程序代码:
CLEAR
hFile = FOPEN("t1.txt")
DO WHILE !FEOF(hFile)
    cString = STRCONV(FGETS(hFile), 11)
*!*        FOR nIndex = 1 TO LEN(cString)
*!*            ?? ASC(SUBSTR(cString, nIndex, 1))
*!*        NEXT
ENDDO
?
FCLOSE(hFile)

注意:文本文件头3个字节(字符)是编码识别符,舍弃它即可,从第4个开始。

[ 本帖最后由 TonyDeng 于 2012-12-13 14:40 编辑 ]

授人以渔,不授人以鱼。
2012-12-13 14:38
ksbbzhr
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2012-12-4
收藏
得分:0 
从文本文件取得太麻烦了   在sap上另存为文本是非常复杂的   我一天要操作几十个单据   一张单据基本在半分钟内处理完   但是在sap上面另存文本文件需要1分钟  
所以必须使用拷贝  粘贴的方式     简单的说就是从剪贴板获得需要转换的内容  
否则没有任何意义  

谢谢
2012-12-13 14:50
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
直接从内存中获取原始字符串,传入strconv()函数即可。

授人以渔,不授人以鱼。
2012-12-13 14:51
快速回复:请教 从Citrix 上 Sap 拷贝数据到vfp 乱码问题
数据加载中...
 
   



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

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