跳到主要内容

免费文本编码转换器 — 修复乱码,转换为 UTF-8

修复显示怪异字符的字幕、CSV 和文本文件:查看文件在每种编码下的样子,选出可读的那一种,并保存为 UTF-8、UTF-8 with BOM(适用于 Excel)、UTF-16 或旧式代码页。可一次处理多个文件。在浏览器中运行,不会上传任何内容。

把文本、字幕或 CSV 文件拖到这里,或点击选择

TXT, SRT, VTT, ASS, SSA, SUB, SBV, LRC, CSV, TSV, MD, JSON, XML, HTML, HTM, INI, CFG, LOG, NFO, CUE, M3U, TEX, YML, YAML, PROPERTIES · 在你的设备上处理

或按 Ctrl+V 从剪贴板粘贴

你可以一次拖放多个文件

浏览文件

你的文件永远不会离开你的设备。所有处理都在你的浏览器中本地进行。

工作原理

文本文件不会注明自己使用的编码。BOM 或有效的 UTF-8 可以作为证据;否则,本页会用浏览器支持的每种代码页解码前 64 KB,并根据错误猜测的迹象为每个结果打分:替换字符、控制码、制表符号、单词内部大小写翻转、同时出现多种文字的字母,对于中文、日文和韩文,则看该语言最常用字符出现了多少。最有可能的一项会被勾选,每一项都会显示文件自己的几行内容,方便你看出哪个读起来正确。

  1. 1
    添加文件
    拖入一个或多个文本文件:字幕(SRT、VTT、ASS)、CSV、TXT、歌词等。它们在你的设备上读取。
  2. 2
    选择可读的版本
    每种编码都会显示文件的前几行,包括带重音符号或非拉丁字母的内容。最有可能的一项已勾选;如果看起来仍然不对,请选择另一项。
  3. 3
    选择输出格式
    几乎所有场合用 UTF-8,Excel 用 UTF-8 with BOM,也可选 UTF-16,或给旧设备使用旧式代码页。换行符可以保持不变或更改。
  4. 4
    下载
    单个文件会以原文件名返回;多个文件会打包为 ZIP。

你的文件在此浏览器中转换,不会上传。

指南

操作示例

一个名为 film.srt 的两条字幕文件,由旧的 Windows 程序以 Windows-1251 编码、Windows 换行符保存,内容是“Привет, как дела?”和“Хорошо, спасибо.”两行,共 107 字节。在播放器中它显示为“Ïðèâåò, êàê äåëà?”。把它拖到页面上。文件显示为“film.srt · 107 B”,在“将文件读取为”下你会看到五个版本,每个都带有文件自己的行。在英文浏览器上,第一个被勾选并标有“最可能”:“Windows-1252(西欧)”,显示为“Ïðèâåò, êàê äåëà?”。第三个“Windows-1251(西里尔文)”显示为“Привет, как дела?”。勾选它。保持“另存为”为“UTF-8”、“换行符”为“保持不变”,点击“转换文件”,页面显示“已转换。”下载的文件仍叫 film.srt,现在是 133 B,因为每个西里尔字母在 UTF-8 中占两个字节。

使用哪些设置,以及限制

  • 以预览行为准,而不是看徽章。 只有字节顺序标记或有效的 UTF-8 才能获得“确定”徽章,并显示消息“此文件肯定是 UTF-8。”对于其他情况,工具会对前 64 KB 中每种读法的可疑程度打分:替换字符、控制字符、同时出现多种文字的字母、单词中间的大写字母,对于中文、日文和韩文,还会看非常常见的字符出现了多少。分数相同时,以你的浏览器语言常用的代码页优先。“最可能”徽章只是猜测,所以请阅读每个选项下面的行。
  • 五个都不对时,打开“显示全部 19 种编码”。 起初只显示五个版本。“显示全部 19 种编码”会列出工具能读取的每一种:UTF-8、UTF-16 LE 和 BE、Windows-1250 至 1258、Windows-874、KOI8-R、KOI8-U、Shift_JIS、GBK、Big5 和 EUC-KR。每个预览最多显示三行含有普通 ASCII 以外字符的内容,每行截断为 120 个字符。如果你从完整列表中选了一个,再点击“显示较少”,下方会有一行提示,例如“按 Windows-1251(西里尔文)读取。”
  • 用“另存为”选择输出。 列表中有“UTF-8”(默认)、“带 BOM 的 UTF-8”、“UTF-16 LE(带 BOM)”、Windows-1250 至 1258、Windows-874、KOI8-R 和 KOI8-U。页面说明 UTF-8“几乎适用于所有应用、播放器和网站。”而带 BOM 的 UTF-8“最适合用 Excel 打开的 CSV 文件。”旧代码页只适用于旧设备或旧程序。Shift_JIS、GBK、Big5 和 EUC-KR 只能读取,不能写出。输入中开头的字节顺序标记会先被丢弃,然后再添加新的(如果有)。
  • 如果程序需要,请设置换行符。 “换行符”有“保持不变”(默认)、“LF(Mac、Linux)”和“CRLF(Windows)”。LF 和 CRLF 会先把现有的每个换行(包括旧式单独的回车符)统一成一种,所以混合换行的文件输出后保持一致。该选择适用于批处理中的每个文件。对于纯英文文件,工具会提示:“如果某个应用需要 BOM 或其他换行符,请转换它。”
  • 一次转换多个文件。 拖入多个文件,或点击“添加更多文件”。每个文件都有自己的“将文件读取为”选项;用文件名按钮在它们之间切换。“另存为”和“换行符”适用于所有文件。一个文件以自己的文件名下载。多个文件则下载为 ZIP,命名类似 converted-utf-8.zip,重名的文件编号为 -2、-3。超过 50 MB 的文件会被跳过。如果页面提示“无法转换这些文件。请一次少转几个。”,请移除一些文件后再次转换。
  • 了解工具不会改动什么。 它接受 .txt、.srt、.vtt、.ass、.ssa、.sub、.sbv、.lrc、.csv、.tsv、.md、.json、.xml、.html、.htm、.ini、.cfg、.log、.nfo、.cue、.m3u、.tex、.yml、.yaml 和 .properties 文件。它只更改编码,并在需要时更改换行符。文件内的文字不会被编辑,所以在头部声明了旧编码的 HTML 或 XML 文件,转换后仍然声明旧编码,你需要自己修改那一行。

常见问题及解决方法

提示“已跳过 1 个文件:无法读取或超过 50 MB。”
每个文件必须不超过 50 MB,且浏览器必须能读取它。如果文件在 OneDrive、iCloud 或 Google Drive 中,请把副本保存到此设备再添加。对于非常大的日志,请先把它切成几部分。你添加的其他文件仍然保留在列表中。
提示“此文件只包含普通的英文字母、数字和标点,在所有编码中读起来都一样。”
这里没有可供选择的编码列表,因为文件中每个字节都小于 128,所以选择别的编码不会改变任何一个字符。如果某个应用仍然显示奇怪的字符,问题就不在此文件的编码。如消息所说,你仍然可以转换它,以添加 BOM 或更改换行符。前 4,096 个字节中含有零字节的文件不会被这样处理。
提示“有 2 个字符无法以此编码保存,已变成“?”。请选择 UTF-8 以保留所有字符。”
你在“另存为”下选择了旧的单字节代码页,而文本中有它无法容纳的字符。每个这样的字符都被写成了问号,数字就是它们的个数。转换后的文件可供下载,但这些字符现在是问号,所以请不要使用它。请选择“UTF-8”并重新转换,以保留所有字符。只有在设备需要时才使用旧代码页,并选择适合你语言的那一个。
没有一个版本读起来是正确的。
打开“显示全部 19 种编码”。正确的那个可能排在前五名之外。在英文页面上,以 Windows-1252 保存、含有 ¿ 或 ¡ 的西班牙语文件可能排名靠后,因为这类标点会拉低某种读法的得分。在较短的文件上,几种代码页的得分往往相同,所以正确的可能在其中的任何位置。请对照你自己语言的行,勾选读起来自然的那一个。
提示“此文件肯定是 UTF-8。”但文字看起来仍然不对。
这些字节是有效的 UTF-8,所以工具完全按原样读取它们。像“é”这样的奇怪字符此时已是文本本身的一部分,通常是之前某次错误转换的结果,把相同的字节按其他编码读取也无法撤销。请回到第一次转换之前的原始文件,改为添加那一个。

对比分析

能够按所选编码重新打开文件并另存为 UTF-8 的文本编辑器可以完成同样的工作,如果你还想编辑文本,它更适合你。此工具把各种候选读法与文件自己的行并排展示,一次转换多个文件,且无需安装任何东西。文件在你的浏览器中读取和转换,不会上传。它只更改编码和换行符。它对前 64 KB 打分来给猜测排名,不会尝试修复因之前的错误转换而损坏的文本。它无法写出 Shift_JIS、GBK、Big5 或 EUC-KR。

相关工具

常见问题