2014-07-08 45 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

原来我的系统语言环境设置为英语。我把它设定为俄语,派对立即开始。