-->

XMLStarlet - UTF-8字符北欧(XMLStarlet - UTF-8 Nordic

2019-10-20 13:29发布

使用XMLStarlet(窗口)编辑RSS源,但得到了与挪威人物ÆØÅ“的几个问题。

我使用这个网站,我发现了一个例子( https://stackoverflow.com/a/14397390/3168446 )

这是我的feed.xml。 (记事本++表示,它在UTF-8编码)

<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title>My RSS Feed</title>
    <description>This is my RSS Feed</description>
  </channel>
</rss>

我不使用下面的例子,因为它是一个Linux脚本,但我下面长的命令行做了同样的十岁上下的..

#!/bin/sh

TITLE="Test title ÆØÅ"
LINK="http://www.example.com"
DATE="`Sat, 26 Jul 2014 01:14:30 +0200`"

xmlstarlet ed -L   -a "//channel" -t elem -n item -v ""  \
     -s "//item[1]" -t elem -n title -v "$TITLE" \
     -s "//item[1]" -t elem -n link -v "$LINK" \
     -s "//item[1]" -t elem -n pubDate -v "$DATE" \
     -d "//item[position()>10]"  feed.xml ; 

Windows命令行(我使用的是什么):

xml.exe ed -L -a "//channel" -t elem -n item -v "" -s "//item[1]" -t elem -n title -v "Test title ÆØÅ" -s "//item[1]" -t elem -n link -v "http://www.example.com" -s "//item[1]" -t elem -n pubDate -v "Sat, 26 Jul 2014 01:14:30 +0200" -d "//item[position()>10]" feed.xml

“ÆØÅ”是给我的时候添加含有“ÆØÅ”第二项我的问题,嗯,其实第一个项目给我的问题,但直到第二项添加不会产生一个错误信息:

feed.xml:8.23: Input is not proper UTF-8, indicate encoding !
Bytes: 0xC6 0xD8 0xC5 0x3C: Bytes: 0xC6 0xD8 0xC5 0x3C

    <title>Test title ãÏ┼</title>

任何人有什么秘诀吗? 我想这是一个编码的问题,但我不明白为什么,因为feed.xml是UTF-8和编码设置为在饲料中UTF-8。

Answer 1:

我可以证实这个问题在XMLStarlet版本解决了1.6.1+的win32订做!



文章来源: XMLStarlet - UTF-8 Nordic characters