HTTPoison.get 返回 html 编码问题

作者 dragonszy 所属板块 学习资料
很多网站 charset 是 utf-8,但是 HTTPoison 抓过来则是这样子的 ``` <<31, 139, 8, 0, 0, 0, 0, 0, 0, 3, 237, 157, 123, 115, 27, 215, 145, 232, 255, 223, 79, 129, 32, 181, 41, 123, 47, 1, 98, 30, 192, 204, 40, 146, 178, 89, 199, 190, 118, 149, 18, 231, 174, 189, 186, 123, 43, 78, 177, 64, ...>> ``` {:ok, %HTTPoison.Response{status_code: 200, body: body}} = HTTPoison.get "https://wallstreetcn.com/articles/3028471" IO.binwrite(body) 显示全部都是乱码。 还有一种一些网页抓来也是binary https://sf.taobao.com/sf_item/557118024898.htm ``` <<13, 10, 13, 10, 13, 10, 13, 10, 9, 13, 10, 13, 10, 13, 10, 60, 33, 68, 79, 67, 84, 89, 80, 69, 32, 104, 116, 109, 108, 62, 13, 10, 60, 104, 116, 109, 108, 62, 13, 10, 60, 104, 101, 97, 100, 62, 13, 10, 60, 109, ...>> ``` 但是 IO.binwrite(body) 之后 显示只有中文是乱码,英文html是正常的。 还有一些是正常中文字符串的返回。 请教是其中是什么原因和原理?如何解决编码问题?
1 回复
  • dragonszy 发表
    https://github.com/woxtu/elixir-mbcs