Centos 7 (на моем тестовом virt, а также, предположительно, Centos 6 )имеют тенденцию устанавливать UTF -8 по умолчанию, если вы не указали иное установщику или не перенастроили систему для какой-либо другой кодировки. /root/anaconda-ks.cfg
может указывать, какой язык был установлен при установке:
# echo -e '\xe9' | iconv -f iso-8859-1 -t UTF-8
é
# locale
... (bunch of UTF-8 things here)...
# grep lang /root/anaconda-ks.cfg
lang en_US.UTF-8
#
Юникод можно отключить с помощью:
# unicode_stop
# setfont -m 8859-1
# echo -e '\xe9'
é
#
, который, надеюсь, такой же, как и в Centos 6. Из некоторых grep
, бродящих по /etc
, файлы /etc/sysconfig/i18n
или /etc/locale.conf
выглядят так, как будто они управляют локалью.
Я думаю, что понял, в чем проблема. Gmail отправляет ответ в несколько этапов, curl выводит только первым. Я пишу код на lua, который может получить сообщение SUBJECT. Что-то вроде этого
local socket = require "socket"
local ssl = require "ssl"
local format = string.format
local server = "imap.gmail.com"
local port = 993
local login = "user@gmail.com"
local password = "***"
local params = {
mode = "client",
protocol = "tlsv1",
verify = "none",
options = "all",
}
local conn = socket.connect(server, port)
conn = ssl.wrap(conn, params)
conn:dohandshake()
conn:settimeout(5)
conn:send(format("123 LOGIN %s %s", login, password).. '\r\n')
conn:send("123 EXAMINE INBOX".. '\r\n')
conn:send("123 FETCH 86 BODY.PEEK[HEADER.FIELDS (SUBJECT)]".. '\r\n')
local result = ""
while result do
result = conn:receive()
if result then
print(result)
end
end
conn:send("LOGOUT")
conn:close()
Выводит
* OK Gimap ready for requests from 176.114.188.238 q1mb64314748lfc
* CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE ENABLE MOVE CONDSTORE ESEARCH UTF8=ACCEPT LIST-EXTENDED LIST-STATUS LITERAL- SPECIAL-USE APPENDLIMIT=35651584
123 OK bugaev.nsu@gmail.com authenticated (Success)
* FLAGS (\Answered \Flagged \Draft \Deleted \Seen $NotPhishing $Phishing)
* OK [PERMANENTFLAGS ()] Flags permitted.
* OK [UIDVALIDITY 1] UIDs valid.
* 352 EXISTS
* 0 RECENT
* OK [UIDNEXT 1283] Predicted next UID.
* OK [HIGHESTMODSEQ 218991]
123 OK [READ-ONLY] INBOX selected. (Success)
* 86 FETCH (BODY[HEADER.FIELDS (SUBJECT)] {37}
Subject: =?UTF-8?B?UmVbMTJdOiA=?=
)
123 OK Success