如何以UTF-8模式读取文件

时间:2016-09-19 23:02:15

标签: utf-8 lua

我遇到了麻烦。我之前从未与LUA合作过。

我有一个包含下一个内容的简单文件:

func IncomeToday () -> Double {

    let IncomeInput = Double(IncomeTextField.text!)

    todayIncome = todayIncome + IncomeInput!

    return todayIncome

func TotalIncome () 

    let averageIncome = (totalIncome + IncomeToday())/ Days

    averageIncome.text = "\(averageIncome)"

所以我编写了下一个读取此文件的代码:

«Counting Stars» ― OneRepublic

执行该代码后,我得到了:

BotSite = ""

local open = io.open

local function read_file(path)
    local file = open(path, "r") 
    if not file then return nil end
    local content = file:read "*all" 
    file:close()
    return content
end

BotSay = UserFrom .. ", " ..read_file("D:/Snip/Snip.txt")

我正确理解它的UTF-8问题。如何解决?

所以我得到了感兴趣的回答:

  

官方未修改的 Lua库不支持UTF-8   视窗。大多数SDK和游戏引擎(如Corona)都会修改   本机Lua库代码,在Windows上为其添加UTF-8支持。   (从技术上讲,问题是Lua调用了Win32 char * API   仅支持ANSI文本编码,而不支持UTF-8,您必须进行转码   Lua中的UTF-8字符串转换为UTF-16并调用Win32的wchar * API   来代替。)

0 个答案:

没有答案