2014-11-29 10 views
5

kiedy wykonaćcurl wyjściowe polecenia ma złego kodowania

curl "http://weather.yahooapis.com/forecastrss?w=1225955&u=c" 

zwraca odpowiedź mnie z nieprawidłowego kodowania:

[email protected]:~$ curl "http://weather.yahooapis.com/forecastrss?w=1225955&u=c" 
���dž��[email protected]��v(
����$j$��~����4(���Xy����wH�o�9<q��,�s\��e"�tA�\݌h�ʄ��� 
                  �����h��M���{���J=�m93W 
                         �S�)�e�[sv,�҉eAKM�z{ǔ��g��:���*�����(n�m��&�Jꟈ��Mg�,yn?F�&��_�� 
ik6                                      >��0�e&X��簺 
sQ~�:�Z;*9�.a"ߕ|��EO[�5"�׫[�k�����1ӆ�n?}r1�u�d��Cڐ��X��`�NF�g!�c��W��G��1�o����Z��53<z`���.��w� s׃��ߖ+�vh��3yt�b}�9 
�6�s3K 
�W� �0�ه[email protected]���>�X֥Qh�ʰv�BQ�R 
ʮ�<�4;�ڊ2�8y� �g���6M(��]�|'�[email protected]�ș�B 
�8du!�&'�NOB��ț��3�K��fW�� 
          \Rheg�=��F�R;�u�F�s9���&����,��|r��o�E۲�T��V$&�����uf\������v��Z~&�Au��{��ى"m�ʨ���U����2�8�#[email protected]'������ 
                                      l���R�XL��~A��̱���p��9��8�iH��nC�i4��^t;����۪���d�V�����7��=S&��2�u�#v~�L`�k���v�0 
          �[���"<���~�z��j,���X=�zmKD/|���(�p��M���⥁}_�!��GџC��2|�G��<ফe��nb"x ?�e�s��;���r;ﲃ�]�9"l��;�}�w�ٮjwR[�C����#O� 
                                         �������#a����s�km���$a�����\)�$�o��Ә�K��FR�*�ý�l�Z 
      � 
      &�`_�D�WӠ�>`T��0��| c��⿎K%��n:���~(�����.{��}< /~�^!A��$\���c�<�Á 
"��k�_��t����t�n�5�^t�وF��l<V�����oo? 
             `O���3p��ĝ�S�X�G�x��Ź+� 
[email protected]:~$ 

Jednak samo polecenie działa dobrze w innym komputerze. Czy jest coś, co muszę ustawić w powłoce, aby uzyskać poprawny format?

im Ubuntu 14.04 64bits. (Linux Khan-P55A-UD3P 3.13.0-40-generic 69-Ubuntu SMP Czw 13 listopada 2014 17:53:56 UTC x86_64 x86_64 x86_64 GNU/Linux)

jakieś pomysły? zrzut ekranu polecenia można również zobaczyć tutaj: http://i.imgur.com/QDy7F7i.png

+1

Marcin poprosił Cię, aby zapisać dane wyjściowe do plik; Czy "cat output.xml | gunzip" daje prawidłowy wynik? Wypróbuj "hexdump -C output.xml" i opublikuj pierwszy wiersz lub dwa. Spróbuj "curl -v url; echo $?" i opublikuj nagłówki i zwróć również wartość. (Domyślam się, że albo strona internetowa, albo proxy buforujące wysyła je jako skompresowane, ale nie wysyłają poprawnych nagłówków wskazujących, że z jakiegoś powodu lub curl nie dekompresuje go mimo otrzymania nagłówków z jakiegoś powodu (nie skompilowanego z obsługą libz?)) –

Odpowiedz

1

Myślę, że jest on powiązany z domyślnym kodowaniem twojego terminala (który domyślnie jest UTF-8). Można spróbować przejść strumienia do pliku, na przykład:

curl "http://weather.yahooapis.com/forecastrss?w=1225955&u=c" > response 

miałem ten sam problem z usługa odpoczynku, kiedy mijał bajtów (Pdf zawartość formatu wewnątrz Danych Handler). Bez przesyłania strumienia otrzymywałem dane zakodowane w UTF-8 na terminalu, a także gdy używałem soapUi.

+0

Niestety, zwraca ten sam wynik! khan @ khan-P55A-UD3P: ~ $ curl "http://weather.yahooapis.com/forecastrss?w=1225955&u=c"> output.xml khan @ khan-P55A-UD3P: ~ $ cat output.xml V ێ 6} b¾ Z , m /- - THj } C b 23g.g }+ x % $ | \ & * 2 [ ? o 3 2 BI $ { G/^ D ژ i -i g6 zIrk x ug ޞ Jy * 4- ࠘q5 v; ozJgt ! t tS) q> I –

+0

Co jeśli otworzysz ten plik używając np. VIM? –

Powiązane problemy