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

问题描述 投票:0回答:3

美好的一天

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

问题是我正在使用 Foxpro 创建并写入 txt 文件,但我需要将该文件保存为 UTF8,因为它应该被另一个系统读取。

utf-8 visual-foxpro ansi foxpro
3个回答
4
投票

mycursor 是一个别名,使用该别名的 StrToFile() 是没有意义的。也许您想要实现的目标是:

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

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() ,它将接收预期的字符串,然后将其转换为 UTF8。
完成后,它会将字符串返回到调用例程,然后调用例程需要使用 VFP 的 STRTOFILE() 函数将字符串转换为文件。

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

祝你好运


0
投票

Deu certo。所以请正确对待 lcutf e já 时代。 2024 年 e esse post ajudando os últimos sobreviventes dessa linguagem maravilhosa.

© www.soinside.com 2019 - 2024. All rights reserved.