Utf 8 Applescript:使用utf8类读取文本文件会触发错误

Utf 8 Applescript:使用utf8类读取文本文件会触发错误,utf-8,applescript,Utf 8,Applescript,我想逐段读取文本文件,由于文件内容是德语,因此文件包含特殊字符,我知道我必须使用utf8类才能正确地将字符读入脚本 如果使用建议的命令,我将面临问题 set txt to paragraphs of (read foo for (get eof foo)) as «class utf8» 我得到了错误 error "Can’t make {\"\tDate:\t10. J√§nner 2006 20:53\", \"\tTags:\tHase, Muffin, Paul\", \"\tLoca

我想逐段读取文本文件,由于文件内容是德语,因此文件包含特殊字符,我知道我必须使用utf8类才能正确地将字符读入脚本

如果使用建议的命令,我将面临问题

set txt to paragraphs of (read foo for (get eof foo)) as «class utf8»
我得到了错误

error "Can’t make {\"\tDate:\t10. J√§nner 2006 20:53\", \"\tTags:\tHase, Muffin, Paul\", \"\tLocation:\tM√ºhlgasse, Wiener Neudorf, Lower Austria, Austria\", \"\tWeather:\t-7¬∞ Clear\", \......
如果我在没有«类utf8»的情况下读取文件,则不会发生错误

我使用以下代码:

set theFile to readFile("/Users/Muffin/Documents/DayOne-Export/DayOne.md")
-- set Shows to read theFile using delimiter return
repeat with nextLine in theFile
<text processing>
end repeat

on readFile(unixPath)
    -- prepare text file to read
    set foo to (open for access (POSIX file unixPath))
    set txt to paragraphs of (read foo for (get eof foo)) as «class utf8»
    -- set txt to paragraphs of (read foo) as «class utf8»
    close access foo
    return txt
end readFile
将文件设置为readFile(“/Users/Muffin/Documents/DayOne Export/DayOne.md”)
--设置显示使用分隔符返回读取文件
对文件中的下一行重复此操作
结束重复
关于readFile(unixPath)
--准备要读取的文本文件
将foo设置为(打开以供访问(POSIX文件unixPath))
将txt设置为(读取foo for(获取eof foo))的段落为«类utf8»
--将txt设置为(读取foo)的段落,作为«类utf8»
关闭访问foo
返回文本
结束读取文件
文本文件如下所示:

Date:   10. Jänner 2006 20:53<br>
Tags:   Hase, Muffin, Paul<br>
Location:   Mühlgasse, Wiener Neudorf, Lower Austria, Austria<br>
Weather:    -7° Clear<br>

    1st Sign of Paul’s arrival
    .... Actually it was a normal morning and as usual I got up at 6 am start preparing the breakfast.
日期:10。詹纳2006年20:53
标签:哈斯、松饼、保罗
地点:奥地利下奥州维纳·纽多夫市穆尔加斯
天气:-7°晴朗
保罗到达的第一个迹象 .... 事实上,这是一个正常的早晨,和往常一样,我早上6点起床,开始准备早餐。
该错误直接发生在
set txt
命令中


你知道我为什么会出错吗?

你的括号放错了:

set txt to paragraphs of (read foo for (get eof foo) as «class utf8»)
否则,您将尝试将
列表
转换为
utf8

顺便说一句

for(get eof foo)
是不必要的