Microsoft GraphRAG Indexer无法导入Gutenberg网站TXT文件:Unicode编码错误
解决GraphRAG导入Gutenberg TXT文件时的UnicodeDecodeError错误
你遇到的UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0错误,核心原因是下载的Gutenberg书籍TXT文件并非UTF-8编码——字节0xff是UTF-16编码的BOM(字节顺序标记)开头,而GraphRAG索引器默认以UTF-8解码,导致解析失败。
解决方案
步骤1:确认文件编码
用VS Code打开文件,查看右下角的编码标识(比如显示"UTF-16 LE");或者用PowerShell执行以下命令查看文件前两个字节:Get-Content -Path "your-book-file.txt" -Encoding Byte -TotalCount 2如果输出为
255 254,则可确认是UTF-16 LE编码。步骤2:将文件转换为UTF-8编码
方法一:VS Code可视化转换
打开文件后,点击右下角的编码选择框(如"UTF-16 LE"),选择「通过编码保存」,再选择「UTF-8」,保存为新文件。方法二:PowerShell命令转换
# 替换为你的源文件和目标文件路径 Get-Content -Path "original-book.txt" -Encoding Unicode | Set-Content -Path "converted-book-utf8.txt" -Encoding UTF8方法三:Python脚本转换
input_path = "original-book.txt" output_path = "converted-book-utf8.txt" with open(input_path, "r", encoding="utf-16") as infile: content = infile.read() with open(output_path, "w", encoding="utf-8") as outfile: outfile.write(content)步骤3:导入转换后的文件
使用转换完成的UTF-8编码文件导入GraphRAG索引器,即可解决解码错误。
内容的提问来源于stack exchange,提问作者Robert Corvus
相关产品推荐
相关产品推荐

