XMLStarlet-UTF-8北欧字符

XMLStarlet-UTF-8北欧字符,xml,utf-8,rss,xmlstarlet,Xml,Utf 8,Rss,Xmlstarlet,使用XMLStarlet(windows)编辑RSS提要,但挪威字符“ÆØÅ”出现了一些问题 我正在使用我在这个网站上找到的一个例子() 这是我的feed.xml。(记事本++说它是用UTF-8编码的) Windows命令行(我正在使用的): “ÆØØ”在我添加包含“ÆØØØ”的第二项时会给我带来问题,实际上,第一项会给我带来问题,但在添加第二项之前不会产生错误消息: feed.xml:8.23: Input is not proper UTF-8, indicate encoding ! By

使用XMLStarlet(windows)编辑RSS提要,但挪威字符“ÆØÅ”出现了一些问题

我正在使用我在这个网站上找到的一个例子()

这是我的feed.xml。(记事本++说它是用UTF-8编码的)

Windows命令行(我正在使用的):

“ÆØØ”在我添加包含“ÆØØØ”的第二项时会给我带来问题,实际上,第一项会给我带来问题,但在添加第二项之前不会产生错误消息:

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:8.23:输入不正确UTF-8,请指示编码!
字节:0xC6 0xD8 0xC5 0x3C:字节:0xC6 0xD8 0xC5 0x3C
测试标题Ï┼

有人有什么建议吗?我想这是一个编码问题,但我不明白为什么,因为feed.xml是UTF-8,并且feed中的编码设置为UTF-8。

我可以确认这个问题在XMLStarlet版本1.6.1+win32 build中得到了解决

问题是命令行参数没有被编码为UTF-8,我正在调查一个修复程序,我想是这样的。在找到解决方案之前,我一直在使用下面的解决方法,但我发现cygwin构建工作起来有点奇怪,因为我仍然在windows命令行中运行它,而不是在cygwin终端中运行它。1.6.1+版本应该能正确处理这个问题。太棒了!我已经证实了这一点,并在下面更改了答案。
#!/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 ; 
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>