“ď”附近的 Lua 意外符号,不存在

Lua unexpected symbol near 'ď', which isn't there

提问人:Hubert Marek 提问时间:9/6/2023 最后编辑:NifimHubert Marek 更新时间:9/6/2023 访问量:31

问:

我有以下文件内容:

local t = {
    
    
}

return t

以及加载它的以下代码行:

function koServer.loadDataFile(filename)
    local dataLoader, errorMsg = loadfile(filename)
    local data = nil
    
    if dataLoader then 
        local success, result = pcall(dataLoader)
        if success then
            net.log("Successfully loaded: " .. filename)
            data = result
        else
            net.log("Error loading " .. filename .. ": " .. result)
        end
    else
        net.log("Could not load " .. filename .. ": " .. (errorMsg or "unknown error"))
        -- data = {} 
    end
    
    return data
end

它以某种方式给出错误:

2023-09-06 12:12:00.392 INFO    LuaNET (Main): Could not load Z:\TKO\Scripts\ko_vipPlayerData.lua: [string "Z:\TKO\Scripts\ko_vipPlayerData.lua"]:1: unexpected symbol near 'ď'

尽管角色不在那里,但即使是不可打印的角色查看器也看不到它们。当使用总指挥官搜索文件时,它会检测到那里的符号,但在搜索文件时,它没有显示搜索结果。该符号在十六进制编辑器中甚至不可见。可能是什么问题?

我尝试在十六进制编辑器、Visual Studio Code、记事本中搜索文件。

Unicode LUA UTF-8

评论


答:

1赞 Hubert Marek 9/6/2023 #1

好的,我找到了解决方案,十六进制编辑器在加载文件时显示它,而不是复制内容。它显示字节,这些字节转换为该符号。并且文件是使用错误的格式保存的,它是带有 BOM 的 UTF-8,而不是 UTF-8。此外,不是 CRLF。EF BB BF