将重音字符转换为 HTML 实体的工具?

baf*_*mca 7 special-characters conversion html

是否有工具(命令行很好)可以在 Ubuntu 中将重音字符转换为 HTML 实体?最好是递归的并且不转换 html/php 标签。

e.g.
from: é
to: é
or: é
Run Code Online (Sandbox Code Playgroud)

elm*_*cha 8

Recode 可以转换为 HTML 实体:

$ echo "é" | recode ..html
é
Run Code Online (Sandbox Code Playgroud)

recode 中有一些稍微不同的 HTML 转换可用;见info recode HTML

如果要重新编码一个文件或某些文件,可以使用

$ recode ..html one_file another_file and so on
Run Code Online (Sandbox Code Playgroud)

对于递归操作,请使用find命令,例如

$ find your_directory -type f -name "*.html"
Run Code Online (Sandbox Code Playgroud)

上面的 find 命令只会显示文件。请确保您只找到了正确的文件,没有找到任何二进制文件,也没有找到不需要的目录中的任何文件。备份或使用文件副本(而不是真实文件)也是一个好主意。如果您找到了正确的 find 命令,请 append -exec your_command {} +,其中 your_command 是recode ..html上面的命令,并且{}表示 find 给出的要重新编码的文件:

$ find your_directory -type f -name "*.html" -exec recode ..html {} +
Run Code Online (Sandbox Code Playgroud)

但是等一下,有一个重要的警告:recode ..html假设您的输入文件与您在命令行上使用的字符集(编码)相同。如果您的所有文件都使用“现代”UTF-8,它将正常工作,因为 Ubuntu 使用标准中的 UTF-8。但是,如果您的某些文件使用较旧的 ISO-8859-1 或其他字符集,则会复杂得多。