From: Mark Guzman Date: 2008-03-08T14:53:16+09:00 Subject: Re: ?ISO-8859-1?Q? from IMAP server --------------ms050105060309020409040602 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Not messed up, just encoded to work with SMTP. The mail protocol wasn't=20 really designed with i18n in mind, so it doesn't support unicode or=20 anything other than the regular latin charset for the header items. The=20 body is usually handled as MIME, so it get's encoded to avoid issues. What your seeing is an encoding applied to the mail headers. the mail=20 client needs to do the conversion to something readable/usable by it.=20 The first portion specifies the character set encoding used. The Q=20 specifies the encoding method used. I'd suggest reading the rfc's on mail handing and internationalization=20 of mail headers. hth. --mg Maria Almar wrote: > Hi all, > > I have an encoding problem when a want to examine my mails from an=20 > IMAP server. > Strings with "special characters" are returned with the=20 > "?ISO-8859-1?Q?" prefix and special characters are messed up ("=C3=A9" = > becomes "=3DE9") > > Do I have to call IMAP with special parameters ? > Or can I convert this string afterward ? > > # Login to the Imap server > imap =3D Net::IMAP.new('imap.gmail.com', 993, true) > imap.login(name, password) > # Examine the INBOX box > imap.examine("INBOX") > # Fetch a single message > msg =3D imap.uid_fetch([123], ['ENVELOPE'])[0] > puts msg.attr["ENVELOPE"].subject > > =3D> =3D?ISO-8859-1?Q?Invitation_to_join_XXX_from_Nicolas_F=3DE9tiou?=3D= > > I'm on Leopard, and tried with "irb" and "irb --noreadline" > > Regards > > Maria > > > --------------ms050105060309020409040602 Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIJ4TCC Az8wggKooAMCAQICAQ0wDQYJKoZIhvcNAQEFBQAwgdExCzAJBgNVBAYTAlpBMRUwEwYDVQQI EwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEaMBgGA1UEChMRVGhhd3RlIENv bnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xJDAi BgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBDQTErMCkGCSqGSIb3DQEJARYccGVy c29uYWwtZnJlZW1haWxAdGhhd3RlLmNvbTAeFw0wMzA3MTcwMDAwMDBaFw0xMzA3MTYyMzU5 NTlaMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBM dGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQTCBnzAN BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxKY8VXNV+065yplaHmjAdQRwnd/p/6Me7L3N9Vvy Gna9fww6YfK/Uc4B1OVQCjDXAmNaLIkVcI7dyfArhVqqP3FWy688Cwfn8R+RNiQqE88r1fOC dz0Dviv+uxg+B79AgAJk16emu59l0cUqVIUPSAR/p7bRPGEEQB5kGXJgt/sCAwEAAaOBlDCB kTASBgNVHRMBAf8ECDAGAQH/AgEAMEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwudGhh d3RlLmNvbS9UaGF3dGVQZXJzb25hbEZyZWVtYWlsQ0EuY3JsMAsGA1UdDwQEAwIBBjApBgNV HREEIjAgpB4wHDEaMBgGA1UEAxMRUHJpdmF0ZUxhYmVsMi0xMzgwDQYJKoZIhvcNAQEFBQAD gYEASIzRUIPqCy7MDaNmrGcPf6+svsIXoUOWlJ1/TCG4+DYfqi2fNi/A9BxQIJNwPP2t4WFi w9k6GX6EsZkbAMUaC4J0niVQlGLH2ydxVyWN3amcOY6MIE9lX5Xa9/eH1sYITq726jTlEBpb NU1341YheILcIRk13iSx0x1G/11fZU8wggNLMIICtKADAgECAhAuVywDSabbDt+fceOkfFgt MA0GCSqGSIb3DQEBBQUAMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3Vs dGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNz dWluZyBDQTAeFw0wNzExMDEwMzA4NTRaFw0wODEwMzEwMzA4NTRaMIGJMR8wHQYDVQQDExZU aGF3dGUgRnJlZW1haWwgTWVtYmVyMSIwIAYJKoZIhvcNAQkBFhNzZWdmYXVsdEBoYXNuby5p bmZvMRwwGgYJKoZIhvcNAQkBFg1tZ0BoYXNuby5pbmZvMSQwIgYJKoZIhvcNAQkBFhVtYXJr Lmd1em1hbkBnbWFpbC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCa6sWo i2Qd7PY1Vf61K6TCUPOiQgNRLSlF2GQzA3mjv7glKrUxMQ2re50pktThWGKVIRHIQhjMVQix Ebpym9gcAXVQBDNJd9MSkzMhyHuT68uun261pNwZGBXU3Bmmd0qOSQOzYptkmJXGhDRjkLxr LW/QXQLaV/stvZy45ssODmFqj9hL0bLrDszEPjp4CMiTejlEkxczmwsqIzLXWpRp9qaVOQOI oFe9v0JlExx/LTxqWTt7NDsVUWxsuk7zUqoW6+PR9QNA5LZ0LD1bIgG5MdUaAgj34kPJPFG7 9XAjQKO4D7S6PvoHVltF2d2l9Vi+2Y4F+CEYJG7XQoi4BsAfAgMBAAGjVjBUMEQGA1UdEQQ9 MDuBE3NlZ2ZhdWx0QGhhc25vLmluZm+BDW1nQGhhc25vLmluZm+BFW1hcmsuZ3V6bWFuQGdt YWlsLmNvbTAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBBQUAA4GBAHGXy2OK9B86BzR5cnu6 3lKPFb5nsSp8/nN9at4Mmgks2F68WvYUxvg5dfADC3t1xxEZkZtFymSpwnJIeWl5CUqlnDFp EpFYaCl6A2vDX3fHBSLLGt37QnRzQ0AHNDUV/wiZFxoMnd3wgroJDNXxHKkWxhYXbz3zLGmO dAFEtu47MIIDSzCCArSgAwIBAgIQLlcsA0mm2w7fn3HjpHxYLTANBgkqhkiG9w0BAQUFADBi MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEs MCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIElzc3VpbmcgQ0EwHhcNMDcxMTAx MDMwODU0WhcNMDgxMDMxMDMwODU0WjCBiTEfMB0GA1UEAxMWVGhhd3RlIEZyZWVtYWlsIE1l bWJlcjEiMCAGCSqGSIb3DQEJARYTc2VnZmF1bHRAaGFzbm8uaW5mbzEcMBoGCSqGSIb3DQEJ ARYNbWdAaGFzbm8uaW5mbzEkMCIGCSqGSIb3DQEJARYVbWFyay5ndXptYW5AZ21haWwuY29t MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmurFqItkHez2NVX+tSukwlDzokID US0pRdhkMwN5o7+4JSq1MTENq3udKZLU4VhilSERyEIYzFUIsRG6cpvYHAF1UAQzSXfTEpMz Ich7k+vLrp9utaTcGRgV1NwZpndKjkkDs2KbZJiVxoQ0Y5C8ay1v0F0C2lf7Lb2cuObLDg5h ao/YS9Gy6w7MxD46eAjIk3o5RJMXM5sLKiMy11qUafamlTkDiKBXvb9CZRMcfy08alk7ezQ7 FVFsbLpO81KqFuvj0fUDQOS2dCw9WyIBuTHVGgII9+JDyTxRu/VwI0CjuA+0uj76B1ZbRdnd pfVYvtmOBfghGCRu10KIuAbAHwIDAQABo1YwVDBEBgNVHREEPTA7gRNzZWdmYXVsdEBoYXNu by5pbmZvgQ1tZ0BoYXNuby5pbmZvgRVtYXJrLmd1em1hbkBnbWFpbC5jb20wDAYDVR0TAQH/ BAIwADANBgkqhkiG9w0BAQUFAAOBgQBxl8tjivQfOgc0eXJ7ut5SjxW+Z7EqfP5zfWreDJoJ LNhevFr2FMb4OXXwAwt7dccRGZGbRcpkqcJySHlpeQlKpZwxaRKRWGgpegNrw193xwUiyxrd +0J0c0NABzQ1Ff8ImRcaDJ3d8IK6CQzV8RypFsYWF2898yxpjnQBRLbuOzGCA2QwggNgAgEB MHYwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0 ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhAuVywD SabbDt+fceOkfFgtMAkGBSsOAwIaBQCgggHDMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEw HAYJKoZIhvcNAQkFMQ8XDTA4MDMwODA1NTMxN1owIwYJKoZIhvcNAQkEMRYEFKt8j7z+NT1A 2v1jFphl01AJmryrMFIGCSqGSIb3DQEJDzFFMEMwCgYIKoZIhvcNAwcwDgYIKoZIhvcNAwIC AgCAMA0GCCqGSIb3DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEoMIGFBgkrBgEEAYI3 EAQxeDB2MGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5 KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIQ LlcsA0mm2w7fn3HjpHxYLTCBhwYLKoZIhvcNAQkQAgsxeKB2MGIxCzAJBgNVBAYTAlpBMSUw IwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUg UGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIQLlcsA0mm2w7fn3HjpHxYLTANBgkqhkiG 9w0BAQEFAASCAQBCIooGRlOfmXJpoO3lDCRPxYUKTUNRaC8fudA5/szfX+AwSrrgVNrIFa2I i7fn+dTBZIk+UnsgTZPgyC3DvKARlO+NVFzuHHV0I1D1EcIDp6ngo8AHk/oxFtHqA+Y5Wppm TEhUBoA1FWXROkqaGN7zWO3kTXd8o2JKVsVoNoraN2gMz78fv7SBq3OghXoXhnths51vjgAm j8OwXdgflT875HQVjoCaPGdCSMqSZfpS+9NznsMP7gcrUgV0z1cJsGzhj2qLgKGLkHgGC+/U DtAY2SCfgd6NiIYn7q+wdy3wFpakP5UX2Q4oQhDY0C5AWepQwLGX2YMtIwki0uXXruM+AAAA AAAA --------------ms050105060309020409040602--