Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Utf 8 将ANSI txt文件转换为UTF8(Visual FoxPro)_Utf 8_Visual Foxpro_Ansi_Foxpro - Fatal编程技术网

Utf 8 将ANSI txt文件转换为UTF8(Visual FoxPro)

Utf 8 将ANSI txt文件转换为UTF8(Visual FoxPro),utf-8,visual-foxpro,ansi,foxpro,Utf 8,Visual Foxpro,Ansi,Foxpro,你好 我需要有关将ANSI TXT文件转换为UTF8 TXT文件的帮助。 使用Foxpro作为编程语言。或Xbase 问题是,我正在使用Foxpro创建和写入txt文件,但我需要将该文件保存为UTF8,因为它不允许其他系统读取。通过查看我上面建议的谷歌搜索结果,我发现以下内容: func utf8encode( lcString ) local lcUtf, i lcUtf = "" for i = 1 to len(lcString) c = asc(substr(lcString,

你好

我需要有关将ANSI TXT文件转换为UTF8 TXT文件的帮助。 使用Foxpro作为编程语言。或Xbase


问题是,我正在使用Foxpro创建和写入txt文件,但我需要将该文件保存为UTF8,因为它不允许其他系统读取。

通过查看我上面建议的谷歌搜索结果,我发现以下内容:

func utf8encode( lcString )
local lcUtf, i

lcUtf = ""
for i = 1 to len(lcString)
    c = asc(substr(lcString,i,1))
    if  c < 128
        cUtf = cUtf+chr(c)
    else
        cUtf = cUtf+chr(bitor(192,bitrshift(c,6)))+chr(bitor(128,bitand(c,63)))
    endif
next

return cUtf  
func utf8encode(lcString)
本地lcUtf,i
lcUtf=“”
对于i=1到len(lcString)
c=asc(子字符串(lcString,i,1))
如果c<128
cUtf=cUtf+chr(c)
其他的
cUtf=cUtf+chr(比特或(192,比特移位(c,6)))+chr(比特或(128,比特和(c,63)))
恩迪夫
下一个
回切
注意:这不是我自己的代码,我也没有测试过它,但另一个网站上的海报表明它在他们使用的旧版本Foxpro中工作。
如果代码需要修改才能为您工作,我也不会感到惊讶

编辑:显然,代码只是一个函数(),它将接收预期的字符串,然后将其转换为UTF8。
一旦完成,它会将字符串返回给调用例程,然后调用例程需要使用VFP的STRTOFILE()函数将字符串转换为文件

或者,如果使用VFP9,则可以使用STRCONV()进行字符串转换。


祝你好运

通过查看我在上面建议的谷歌搜索结果,我发现以下内容:

func utf8encode( lcString )
local lcUtf, i

lcUtf = ""
for i = 1 to len(lcString)
    c = asc(substr(lcString,i,1))
    if  c < 128
        cUtf = cUtf+chr(c)
    else
        cUtf = cUtf+chr(bitor(192,bitrshift(c,6)))+chr(bitor(128,bitand(c,63)))
    endif
next

return cUtf  
func utf8encode(lcString)
本地lcUtf,i
lcUtf=“”
对于i=1到len(lcString)
c=asc(子字符串(lcString,i,1))
如果c<128
cUtf=cUtf+chr(c)
其他的
cUtf=cUtf+chr(比特或(192,比特移位(c,6)))+chr(比特或(128,比特和(c,63)))
恩迪夫
下一个
回切
注意:这不是我自己的代码,我也没有测试过它,但另一个网站上的海报表明它在他们使用的旧版本Foxpro中工作。
如果代码需要修改才能为您工作,我也不会感到惊讶

编辑:显然,代码只是一个函数(),它将接收预期的字符串,然后将其转换为UTF8。
一旦完成,它会将字符串返回给调用例程,然后调用例程需要使用VFP的STRTOFILE()函数将字符串转换为文件

或者,如果使用VFP9,则可以使用STRCONV()进行字符串转换。


祝你好运

mycursor是一个别名,使用该别名的strofile()将毫无意义。您可能正试图实现以下目标:

StrToFile( Strconv(FileToStr( "c:\test.txt" ),9), "c:\test_utf8.txt" )

mycursor是一个别名,具有该别名的strofile()将毫无意义。您可能正试图实现以下目标:

StrToFile( Strconv(FileToStr( "c:\test.txt" ),9), "c:\test_utf8.txt" )

我投票结束这个问题,因为SO是来帮助你编写代码的,但SO不是来为你编写代码或提供教程的。很抱歉,Rob,在谷歌上搜索:vfp txt to utf8,你会发现其他人是如何做到这一点的。您面临的一个挑战是尝试使用旧版本的Foxpro,但命令集更加有限-Visual Foxpro 9使事情变得更简单。我投票结束这个问题,因为SO在这里帮助您编写代码,但SO不是来为您编写代码或提供教程的。很抱歉,Rob,在谷歌上搜索:vfp txt到utf8,你会发现其他人是如何做到这一点的。您面临的一个挑战是尝试使用旧版本的Foxpro,但命令集更加有限-visualfoxpro9使事情变得更简单。