mIRC套接字表集失败

时间:2013-06-21 08:30:59

标签: sockets character-encoding mirc

所以我有mIRC 7.21它默认启用了UTF-8 所以我有这个插座:

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不能。 任何想法为什么我的字符集通过套接字搞砸了? 我的意思是我可以用一个小的回声-aΠεντελεπταακόμη来写得很好。 它显示它很好。虽然通过套接字搞砸了..
Extended Play

1 个答案:

答案 0 :(得分:0)

if $utfdecode($utfencode($1-,162)) {
...
}

下面的字符集代码,我们的字符集代码162

000 - ANSI_CHARSET
001 - DEFAULT_CHARSET
002 - SYMBOL_CHARSET
077 - MAC_CHARSET
128 - SHIFTJIS_CHARSET
129 - HANGEUL_CHARSET
130 - JOHAB_CHARSET
134 - GB2312_CHARSET
136 - CHINESEBIG5_CHARSET
161 - GREEK_CHARSET
162 - TURKISH_CHARSET
163 - VIETNAMESE_CHARSET
177 - HEBREW_CHARSET
178 - ARABIC_CHARSET
186 - BALTIC_CHARSET
204 - RUSSIAN_CHARSET
222 - THAI_CHARSET
238 - EASTEUROPE_CHARSET
255 - OEM_CHARSET