Board logo

标题: 用fr或sed替换html中中文内容引起的乱码求助 [打印本页]

作者: chouxia    时间: 2017-6-19 17:32     标题: 用fr或sed替换html中中文内容引起的乱码求助

  1. sed.exe -ri "s/<title>.*<\/title>/<title>这是一个测试<\/title>/g" index.html
  2. fr.exe \vtour\aaa.xml -r:<title>.*<\/title> -t:title=<title>这是一个测试<\/title>
复制代码
这种替换会导致html文件内<title> 和<\/title>中间的部分乱码。
因为html和xml都是utf-8的编码。
请问我如何处理能让内容正常在网页上显示?
我没办法声明编码格式呀
作者: siang    时间: 2017-6-19 18:20

本帖最后由 siang 于 2017-6-19 18:32 编辑

fr可以指定输入输出编码,制作者有好几个字符串查找替换命令行工具
  1. fr.exe \vtour\aaa.xml "/encin:utf-8 /encout:utf -r:<title>.*<\/title> -t:title=<title>这是一个测试<\/title> -frc
复制代码
sed我win下命令行选项看的不太懂 不如Linux下的教程说明多
作者: hlzj88    时间: 2017-6-19 22:12

在win下使用 sed 要注意 网页的编码 是否为 utf-8,当是这种编码的要转换为 ansi。
  1. for /f %%g in ('dir /b/on *.*htm*') do (
  2. iconv -c -f utf-8 -t gb2312 "%%g" >"gb%%g"
  3. move /y "gb%%g" "%%g">nul
  4. )
复制代码
然后
  1. sed -i "s/aa/bb/g" "index.html"
复制代码
基本不会错




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2