2014-07-08 49 views
1

我希望有一天我在面對編碼問題時不會感到絕望。HTTPie/cURL在Windows上不顯示西里爾文字符

我想調用ElasticSearch HTTP API。 PowerShell的Invoke-WebRequest沒有問題,西里爾字符:

{ 
    "_index": "gofra", 
    "_type": "orgs", 
    "_id": "7104018679", 
    "_score": 1.0, 
    "_source": { 
    "inn": "7104018679", 
    "name": "МОУДОД \"ДШИ № 4\" Г. ТУЛЫ", 
    "nameSuggest": { 
     "input": [ 
     "ДШИ № 4", 
     "МОУДОД ДШИ № 4", 
     "МОУДОД ДШИ № 4 Г. ТУЛЫ" 
     ] 
    } 
    } 
} 

但兩者cURL

{ 
    "_index": "gofra", 
    "_type": "orgs", 
    "_id": "7104018679", 
    "_score": 1.0, 
    "_source": { 
    "inn": "7104018679", 
    "name": "МОУДОД \"ДШИ № 4\" Г. ТУЛЫ", 
    "nameSuggest": { 
     "input": [ 
     "ДШИ № 4", 
     "МОУДОД ДШИ № 4", 
     "МОУДОД ДШИ № 4 Г. ТУЛЫ" 
     ] 
    } 
    } 
} 

HTTPie

{ 
    "innSuggest": { 
    "input": [ 
     "7104018679" 
    ], 
    "payload": { 
     "inn": "7104018679", 
     "name": "?????? \"??? ? 4\" ?. ????" 
    } 
    }, 
    "name": "?????? \"??? ? 4\" ?. ????", 
    "nameSuggest": { 
    "input": [ 
     "??? ? 4", 
     "?????? ??? ? 4", 
     "?????? ??? ? 4 ?. ????" 
    ] 
    } 
} 

..fails,以不同的方式。我究竟做錯了什麼?我特別感興趣的是使用HTTPie

+0

你在哪裏顯示結果?默認的Windows控制檯不喜歡Unicode。 –

+0

我試了默認控制檯和[ConEmu](https://github.com/Maximus5/ConEmu)。 – vorou

回答

1

原來我的系統語言環境設置爲英語。我把它設定爲俄語,派對立即開始。