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

时间:2017-07-25 13:26:32

标签: utf-8 visual-foxpro ansi foxpro

美好的一天

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

问题是我使用Foxpro在txt文件上创建和编写,但我需要将文件保存为UTF8,因为它可以被其他系统读取。

2 个答案:

答案 0 :(得分:2)

mycursor是一个别名,带有该别名的StrToFile()将毫无意义。您可能要实现的目标可能是:

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

答案 1 :(得分:0)

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

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  

注意:这不是我自己的代码而我没有测试过,但是另一个网站上的海报表明它在他们正在使用的旧版Foxpro中工作。
如果代码需要修改以便为您工作,也不会让我感到惊讶。

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

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

祝你好运