我正在尝试将Word文档保存为纯文本文档。目前,有时候重音变成其他符号(通常是相同的符号,例如:é变成theta)。其他时候它工作正常。我该如何防止这种情况?
目前正在使用该行:
另存为活动文档文件名FullDocPath文件格式格式Unicode文本
当我遇到此错误时,我可以使用对话框保存文档(选择Western Mac OS Roman编码...来解决问题。
AppleScript Word字典提到:
[text encoding unsigned integer]:保存为文本文件时使用的文本编码
我不知道这是否是我遗失的部分或如何利用它(是否有一个指定Western Mac OS Roman编码的整数?)
有人有什么想法吗?
答案 0 :(得分:2)
尝试:
set wordDoc to choose file
do shell script "textutil -convert txt " & quoted form of POSIX path of (wordDoc as text)
答案 1 :(得分:0)
这是对你的评论开始的回复“谢谢Stefan和bibadiak”
使用.txt文件格式是没有普遍使用的方法来指定文件内文件的编码,因此应用程序必须猜测,或者你必须知道编码,应用程序必须告诉你它。
AFAIK如果在使用textutil将.doc或.docx格式转换为文本时未指定输出编码,则获得UTF-8。但是,当您尝试以编程方式或在UI中打开它时,Mac Word似乎无法识别。
所以我认为你需要做一些以下的混合:
一个。保存并使用使用16位Unicode编码的格式。如果保留BOM,Word应该认识到
湾保存到UTF并在其他地方使用UTF,但在Mac Word中重新打开文档之前使用textutil转换回(例如).docx
℃。如果您的所有角色都可以使用Mac OS Roman编码,请使用例如
textutil -convert txt -encoding 30
保存,确保您只使用该字符集,并使用Word重新打开。 (30是APple NSString值NSMacOSRomanStringEncoding的值)。我认为textutil将无法转换包含MacOS Roman集之外的字符的文档。