MSYS 的 iconv.exe --silent 无法正常工作?

和下面这位老兄遇到了同样问题,的确,改了-s就可以了。

 

�@�滋彀盐矣�砭��g filezilla3 的 MinGW/MSYS �h境改成 gcc 4.5.x (之前是用 gcc 3.4.5), �Y果在�理 libgpg-error �r, ��停在�@���息:

  
  
  
  
make[3]: Entering directory `/usr/src/libgpg-error-1.10'
set -e; \
for i in $(./potomo --get-linguas ./po); do \
/bin/mkdir -p "/usr/local/share/locale/$i/LC_MESSAGES" || true; \
rm -f "/usr/local/share/locale/$i/LC_MESSAGES/libgpg-error.mo" \
2>/dev/null || true; \
./potomo ./po/$i.po \
"/usr/local/share/locale/$i/LC_MESSAGES/libgpg-error.mo" ; \
done
potomo: '
./po/cs.po' keeping UTF-8
potomo: '
./po/de.po' keeping UTF-8
potomo: '
./po/fr.po' keeping UTF-8
potomo: '
./po/it.po' keeping UTF-8
potomo: '
./po/nl.po' keeping UTF-8
potomo: '
./po/pl.po' converting from ISO-8859-2 to utf-8

查看一下�绦械闹噶�, ���是�绦� iconv.exe (��一直使用�s 12% 左右的 CPU), 放著不管跑一晚上, 也跑不出�Y果.

potomo 是一�� bash 的 script, 所以看了一下�@地方是�理是:

  
  
  
  
case "$fromset" in 
    utf8|utf-8|UTF8|UTF-8) 
        echo "potomo: '$infile' keeping $fromset" >&2 
        msgfmt --output-file="$outfile" "$infile"
        ;;   
    *)
        echo "potomo: '$infile' converting from $fromset to utf-8" >&2
        iconv --silent --from-code=$fromset --to-code=utf-8 < "$infile" |\
            sed "/^\"Content-Type:/ s/charset=[a-zA-Z0-9_-]*/charset=utf-8/"|\
            msgfmt --output-file="$outfile" -
        ;;
esac

� 著自己把那�� iconv 指令, 果然��停住. �了一下, 把 --silent 拿掉就正常. 看一下 iconv --help 的�f明, --silent �c -s 是一�拥囊馑�. 同一��指令, 改用 -s �砣〈� --silent, �Y果居然可以正常�绦�. 真是一��奇怪的���}.

如果你有碰到 iconv 跑不出�淼���}, 可以看看有�]有用到 --silent 吧, 改用 -s �看看吧.

你可能感兴趣的:(msys,iconv.exe,--silent)