Sed和UTF-8编码

amo*_*ino 3 ssh bash encoding sed utf-8

在SSH(Putty)中,我使用命令替换以UTF-8编码的文件中的某些文本

例如

cd ~/public_html/app/Config; sed -i 's/ADDRESS_SSH/l'adresse à été correctement intégréé/g' param.php;

在文件中一切正常但是在浏览器中显示重音是奇怪的当验证文件param.php时我发现它的编码正在从改变UTF-8Europe de L'Ouest

同样存在.xml文件的问题

任何帮助使用sed而不改变编码或者可能添加另一个ssh行来重新编码UTF-8中新的php和xml文件?

最好的问候,谢谢

tha*_*guy 6

您必须确保已发出的sed命令已UTF-8编码.

您可以通过以下两种方式之一完成此操作:

  1. 将sed命令写入文件,确保文件为UTF-8,并将其作为脚本执行:

    file yourfile应该说UTF-8 Unicode text.

    然后你就可以跑了bash yourfile.

  2. 或者,将终端和shell设置更改为UTF-8

    printf à | wc -c 必须说2,而不是1.

    locale应该LC_CTYPE在行中列出"UTF-8"或"utf8" .

    然后,您可以直接从终端提示符运行sed命令.