不用先重转:这个入口的输出编码固定是 UTF-8,转出那一刻中文是好的;打开成乱码,多半是文件在本地被另存、改名或粘进编辑器时换了编码,把网页编码固定回 UTF-8 就能恢复。
一、先判断是哪一层把编码换了
乱码有三种长相,对应三个不同的层,处理动作完全不一样。先看是哪一种,再动手。
| 出现位置 | 典型表现 | 判断依据 | 处理动作 |
|---|---|---|---|
| 双击本地文件打开 | 中文整片变成方框或怪符号 | 文件被编辑器重新保存过,另存时选了本地旧编码 | 用编辑器把编码改回 UTF-8 再保存一次 |
| 粘进网站后台或内容系统 | 本地打开正常,发到页面上才乱 | 网页模板自己声明了另一套编码 | 以模板声明为准,把粘贴内容按同编码处理 |
| 图文排版编辑器里 | 复制进去后标点也变形 | 富文本编辑器把内容重排过一遍 | 先在干净文本里过一道,再进排版器 |
| 文件根本打不开 | 提示文件损坏或内容为空 | 上传那一步就没成功 | 回页面确认是否收到产物,重取一次 |
一个可靠的验法:用浏览器直接打开那个网页文件,如果中文正常,说明文件本身没问题,乱码是后面那一步造成的;如果浏览器里就已经是乱码,那说明这个文件在中转时被改写过,此时才需要重新生成一次。排查顺序固定是浏览器、编辑器、模板三处,一处一处缩小范围,别一上来就重转。
二、把编码固定回 UTF-8 的操作顺序
- 先确认文件是否被改过。用文本编辑器打开这个网页文件,找文件开头声明字符集的那一句,里面写的是 UTF-8 还是别的编码。被改过的文件这一句往往已经变了。
- 只做编码修正,不动内容。在编辑器里选「按 UTF-8 编码」重新打开一次,确认中文显示正常后再保存,保存时编码那一栏同样选 UTF-8,不要选带 BOM 的那个选项,避免网页头部多出不必要的字节。
- 要发进网站模板时,先看模板自己声明的编码。模板是 UTF-8 就直接贴;模板是另一套编码,就整站统一改,别只改这一页,否则同一站点里两套编码并存,后面排查更麻烦。
- 只是想把内容搬进自己的排版器,不关心原版面。这种情况走 PDF转文本,出来是 UTF-8 的纯文本,少一层网页结构,也就少一处能出错的编码声明。
- 上面都试过仍然是乱码,再考虑重转。重转前先把源文件换一份,比如换一次导出来源,因为源文件里文字层本身缺字时,换编码是救不回来的。
三、动手前分清两个动作:按编码打开与转码保存
编辑器里有两个长得很像的选项,方向正好相反:一个是「按某种编码重新打开」,把文件里的字节用新编码重新解释一遍;另一个是「另存为某种编码」,把屏幕上现在显示的内容转换成新的字节写回去。乱码文件恰恰最容易栽在第二个上——屏幕上的显示已经是错的,这时候直接「另存为 UTF-8」,等于把乱码固化成正文,原件里还能救的字节也被覆盖掉了。
正确的次序只有一条:先换「打开」那一侧,用原编码重开,确认中文在屏幕上恢复正常,再执行保存并选 UTF-8。两个动作各做一半、顺序颠倒,是这类文件被越修越坏的常见原因。
顺带说清 BOM(Byte Order Mark,文件开头那几个标识字节):同一个 UTF-8,带不带开头这三个字节是两种文件。网页文件保存时选不带 BOM 的那一种更稳,某些内容系统会把开头多出的字节当成一段空白带进页面顶部,看着像模板坏了,其实根源在保存选项里。
四、这四件事别做
- 不要对着乱码文件反复另存。每存一次都可能再换一遍编码,两三次之后连原本正常的部分也一起坏掉,最后分不清是哪一步丢的。
- 不要靠删字重敲来修。一行一行补字看似快,实际把「这份文件编码有问题」这个真正的线索抹掉了,下一份还会中招。
- 不要把网页文件改名成文本再打开。扩展名换了之后,编辑器和浏览器对它的解读方式都变了,你会看到一堆标签符号,误判成内容丢失。
- 不要在同一篇里混用两个来源的产物。一份是站内转的、一份是别处转的,两套编码声明打架时,浏览器只能按其中一套渲染,看起来就像随机乱码。
五、能改编码,不能改源文件缺的字
能修的是网页这一侧的编码声明与另存时的编码选择,不能修的是源 PDF 里本就没有文字层或文字层缺字。判定方法很朴素:在原来的 PDF 里能不能拖动选中一行字。选得中,转出到网页里就是真实文本,可选中、可复制、可被检索,中文不该丢;选不中,说明那一页没有可读的文字层,这条链路在它身上取不出字,任何编码设置都救不回来——这种件要先走 扫描件PDF转Word 把正文取成可编辑文字,再决定排到哪里。
关于版面也要有个预期:多栏排版、浮动图表这类复杂结构,转成网页后会有差异,这是正常范围,建议转后微调,而不是反复重转。真要精细控制,把内容取进自己的模板更省事。
批量上传的边界记住三条:只收 PDF 文件,一次最多 15 个文件,一个 PDF 出一个独立的 .html 网页文件,浏览器双击就能看,不会并成一个文件。单次合计页数有上限,按一次提交里所有文件的页数加起来判定,不是看单个文件;超了当场拒绝,不会出半成品,具体数字以页面提示为准。加密或损坏的 PDF 直接拒收,要先把打开密码去掉。
常见问题
问:手机上能不能做这件事?
答:上传和下载都可以,但修编码这一步要在有文本编辑器的设备上做,手机浏览器只能看,改不了文件的编码声明。
问:要不要登录?产物去哪儿取?
答:不登录也能用;登录后产物集中在文件列表里取,批量转换时更好核对哪一份已经出了产物、哪一份没出来。
问:一次传了十份,其中一份乱码,要全部重转吗?
答:不用。一个输入出一个产物,各文件互不影响,只把出问题那一份单独处理即可;但如果十份都是同一个来源导出的,先拿一份修好、确认编码设置对了,再决定其余要不要一起处理。
本站入口
这一步在站内是 PDF转HTML:文件要上传到本站服务器处理,一个 PDF 出一个独立的网页文件,输出编码固定 UTF-8,文字是真实文本,可选中、可复制、可被检索。
产物拿到后,先双击在浏览器里过一眼中文和分段,确认没问题再挂进网页模板或图文编辑器;只要文字不要版面的,改走 PDF转文本 那条链路。