Skip to content
Menu
Plum Blog
  • Contact
Plum Blog

记一个curl乱码的处理

Posted on 2018年7月24日2018年7月27日

我经常使用ipip.net的免费API查IP,这个网站挺好用的。

一个简单的命令如下:

$ curl -s http://freeapi.ipip.net/202.96.128.68
[“中国”,”广东”,”广州”,””,”电信”]

上述查询202.96.128.68这个IP,得到的结果是广东电信。

但最近登录一台服务器,发现上述查询的返回结果乱码。

我看了下curl返回的header:

$ curl –head http://freeapi.ipip.net/202.96.128.68
HTTP/1.1 200 OK
Date: Tue, 24 Jul 2018 08:04:14 GMT
Content-Type: application/json;charset=utf-8
…

ipip.net网站的响应编码是UTF-8。而我的终端环境也是UTF-8:

$ locale
LANG=en_US.UTF-8
LANGUAGE=
…

都是UTF-8为什么还乱码呢?有点郁闷。

于是祭起google神器,得到一个解决方案:

$ curl -s http://freeapi.ipip.net/202.96.128.68 |iconv -f utf8 -t gb2312

运行上述命令,返回结果是正确的。

iconv的意思是,将输入为UTF-8的字符串,转换为GB2312进行输出。

但我的终端环境已经是UTF-8呀,为什么还要转换成GB2312?

百思不得其解。

我是在工作机Windows,通过SecureCRT连接到远程Linux服务器的。

无意中打开SecureCRT的配置进行检查,发现它的编码方式设置为默认:

这可能是问题所在。于是把这里修改为UTF-8:

重新登录服务器,运行本文的第一句命令,问题解决,不乱码了。

结论是,对于Linux服务器,终端客户端的编码约定,会覆盖服务器的编码设置。两者设置成一致,才能避免各种乱码问题。

Print this entry

近期文章

  • 春天的身姿
  • 元宵节,吃汤丸
  • 云游戏?当然没有前途
  • 玛莎拉蒂,为美而生
  • 春节快乐
  • 农历腊月廿八
  • 农历腊月廿六
  • 小年夜,思故乡
  • 江春入旧年
  • 谈谈苹果产品
  • 空虚与抑郁症
  • 梅花,春天的信使
  • 生日感言
  • 不负时光、不负春风
  • 开玛莎的正确姿态
  • 浪花城迎来了久违的阳光
  • 从总裁换到莱万特手记
  • 小寒过后,气温骤降
  • 使用perl读取excel文件
  • 元旦寄语
  • 没有完美的天气
  • 年末了,气温有点燥热
  • 我的岁月我的车
  • 善用bench脚本,远离垃圾厂家
  • 美式咖啡
  • 祥和节日,真爱永存
  • 冬至日,想你的黑夜最长
  • 抑郁症与环境挑战
  • 我想要一所这样的房子
  • Merry Xmas 2020
  • 浪花城迎来寒冷的冬天
  • 怀念Ithaca
  • 该死的抑郁症
  • 晚来天欲雪,能饮一杯无
  • 台山一日游
  • 小区里的喵星人
  • 今日大雪
  • 永远赚不到超出认知范围外的钱
  • 大雪时节,怀念北方的雪
  • 阳光大好,适合在办公室装B
  • 年底了,絮絮叨叨
  • 人生如老车,细思多忧伤
  • 温暖的冬季,一点遐思
  • 南北的景观与人文差异
  • 东北大雪,南方30度
  • 东北之行 — 长白山
  • 东北之行 — 长春
  • 东北之行 — 母校
  • 所谓的闺蜜,恶毒到极点
  • 我喜欢这样的妹纸

标签

AI (24) 宇宙与人生 (19) 情感 (191) 技术 (60) 抑郁症 (56) 新冠病毒 (9) 汽车 (22) 生活 (219) 职场 (25) 行业观点 (35) 读书文艺 (30)
©2021 Plum Blog