所以我有默认启用 UTF-8 的 mIRC 7.21。
所以我有这个插座:
on *:sockopen:_tmdb_*:{
sockwrite -tn $sockname GET $hget($sockname,url) HTTP/1.1
sockwrite -tn $sockname Host: "nah"
sockwrite -tn $sockname User-Agent: mIRC-API/v1-Alpha
sockwrite -tn $sockname Accept: application/json
sockwrite -tn $sockname Connection: close
sockwrite -tn $sockname $crlf $+ $crlf
}
默认情况下,我通过远程服务器获取这些标头:
[Header] HTTP/1.1 200 OK
[Header] Access-Control-Allow-Origin: *
[Header] Age: 0
[Header] Cache-Control: public, max-age=3600
[Header] Content-Type: application/json;charset=utf-8
.....
当它是用英文写的时,我得到了这个回复:
Extended Play 2006 47247
虽然,当我试图改变语言时。我正在向 api 服务器发出请求并定义 &language=el。我得到这个:
标题:
[Header] HTTP/1.1 200 OK
[Header] Access-Control-Allow-Origin: *
[Header] Age: 0
[Header] Cache-Control: public, max-age=3600
[Header] Content-Type: application/json;charset=utf-8
.....
结果:
Ξ Ξντε Λεπτά ΑκΟΞΌΞ± 2006 47247
当我打开存储的 JSON 文件时,下载了 mIRC……我可以看到希腊字符集。mIRC 不能。任何想法为什么我的字符集会通过套接字搞砸?我的意思是我可以用一个小的 //echo -a Πεντε λεπτα ακόμη 写得很好。它显示得很好。虽然通过套接字被搞砸了..