电子邮件中UTF-8的支持程度如何?

时间:2023-01-05 16:47:59

How well is UTF-8 supported in various email clients?

各种电子邮件客户端支持UTF-8的程度如何?

I know it was somewhat of a problem five or so years ago -- but is it still something we should worry over?

我知道这在五年前有点问题 - 但是我们还应该担心吗?

I am wondering if I should re-encode strings to some other encoding before sending. For example, Russian text would be stored as UTF-8 but when sending email notifications, I could just re-encode it on-the-fly as ISO-8859-5.

我想知道在发送之前是否应该将字符串重新编码为其他编码。例如,俄语文本将以UTF-8格式存储,但在发送电子邮件通知时,我可以将其重新编码为ISO-8859-5。

3 个解决方案

#1


Here is a comparison of just about every email client and whether it supports UTF-8

这是几乎每个电子邮件客户端的比较,以及它是否支持UTF-8

Plus, wikipedia says:

另外,*说:

The Internet Mail Consortium (IMC) recommends that all email programs be able to display and create mail using UTF-8.

Internet Mail Consortium(IMC)建议所有电子邮件程序都能够使用UTF-8显示和创建邮件。

But you can also send an email in multiple formats, if you want.

但是,如果需要,您也可以发送多种格式的电子邮件。

#2


The only place I've found where UTF-8 can be problematic is Japan, where at least a couple of years ago many web mail services and older mobile devices still couldn't cope with it smoothly. It's a bit sad, particularly as the native multibyte encodings (Shift-JIS, ISO-2022-JP etc.) are uniformly awful.

我发现UTF-8可能存在问题的唯一地方是日本,至少在几年前,许多网络邮件服务和较旧的移动设备仍无法顺利应对。这有点令人伤心,特别是因为本机多字节编码(Shift-JIS,ISO-2022-JP等)统一可怕。

Other East Asian countries with multibyte character sets may also be affected.

其他具有多字节字符集的东亚国家也可能受到影响。

#3


today when re-encoding russian UTF-8 text as ISO-8859-5 it is risk to garble new UTF-8 russian ruble currency character U+20BD RUBLE SIGN. It's the same problem with euro currency character support in ISO-8859-1 (Latin1) which is no support I mean. I've found these articles very helpful about international characters support in email http://kb.mailchimp.com/accounts/management/international-characters-in-mailchimp https://wordtothewise.com/2010/03/which-is-better-utf-8-or-iso/

今天当重新编码俄语UTF-8文本为ISO-8859-5时,有可能出现新的UTF-8俄罗斯卢布货币字符U + 20BD RUBLE SIGN。这与ISO-8859-1(Latin1)中欧元货币字符支持的问题相同,我的意思是不支持。我发现这些文章对电子邮件中的国际字符支持很有帮助http://kb.mailchimp.com/accounts/management/international-characters-in-mailchimp https://wordtothewise.com/2010/03/which-is - 更好的UTF-8或异/

Here is a C# code example for problem with codepage ISO-8859-5 and russian ruble currency character:

这是代码页ISO-8859-5和俄罗斯卢布货币字符问题的C#代码示例:

using System;
using System.Text;

namespace ConsoleApplication4
{
class Program
{
    static void Main(string[] args)
    {
        string russian_text = "Русский текст co знаком валюты рубля ₽";

        Console.OutputEncoding = Encoding.UTF8;
        Console.WriteLine(russian_text);

        var encoded_bytes = Encoding.Convert(Encoding.UTF8, Encoding.GetEncoding("ISO-8859-5"), Encoding.UTF8.GetBytes(russian_text));

        Console.OutputEncoding = Encoding.GetEncoding("ISO-8859-5");
        Console.WriteLine(Encoding.GetEncoding("ISO-8859-5").GetString(encoded_bytes));
    }
}

}

#1


Here is a comparison of just about every email client and whether it supports UTF-8

这是几乎每个电子邮件客户端的比较,以及它是否支持UTF-8

Plus, wikipedia says:

另外,*说:

The Internet Mail Consortium (IMC) recommends that all email programs be able to display and create mail using UTF-8.

Internet Mail Consortium(IMC)建议所有电子邮件程序都能够使用UTF-8显示和创建邮件。

But you can also send an email in multiple formats, if you want.

但是,如果需要,您也可以发送多种格式的电子邮件。

#2


The only place I've found where UTF-8 can be problematic is Japan, where at least a couple of years ago many web mail services and older mobile devices still couldn't cope with it smoothly. It's a bit sad, particularly as the native multibyte encodings (Shift-JIS, ISO-2022-JP etc.) are uniformly awful.

我发现UTF-8可能存在问题的唯一地方是日本,至少在几年前,许多网络邮件服务和较旧的移动设备仍无法顺利应对。这有点令人伤心,特别是因为本机多字节编码(Shift-JIS,ISO-2022-JP等)统一可怕。

Other East Asian countries with multibyte character sets may also be affected.

其他具有多字节字符集的东亚国家也可能受到影响。

#3


today when re-encoding russian UTF-8 text as ISO-8859-5 it is risk to garble new UTF-8 russian ruble currency character U+20BD RUBLE SIGN. It's the same problem with euro currency character support in ISO-8859-1 (Latin1) which is no support I mean. I've found these articles very helpful about international characters support in email http://kb.mailchimp.com/accounts/management/international-characters-in-mailchimp https://wordtothewise.com/2010/03/which-is-better-utf-8-or-iso/

今天当重新编码俄语UTF-8文本为ISO-8859-5时,有可能出现新的UTF-8俄罗斯卢布货币字符U + 20BD RUBLE SIGN。这与ISO-8859-1(Latin1)中欧元货币字符支持的问题相同,我的意思是不支持。我发现这些文章对电子邮件中的国际字符支持很有帮助http://kb.mailchimp.com/accounts/management/international-characters-in-mailchimp https://wordtothewise.com/2010/03/which-is - 更好的UTF-8或异/

Here is a C# code example for problem with codepage ISO-8859-5 and russian ruble currency character:

这是代码页ISO-8859-5和俄罗斯卢布货币字符问题的C#代码示例:

using System;
using System.Text;

namespace ConsoleApplication4
{
class Program
{
    static void Main(string[] args)
    {
        string russian_text = "Русский текст co знаком валюты рубля ₽";

        Console.OutputEncoding = Encoding.UTF8;
        Console.WriteLine(russian_text);

        var encoded_bytes = Encoding.Convert(Encoding.UTF8, Encoding.GetEncoding("ISO-8859-5"), Encoding.UTF8.GetBytes(russian_text));

        Console.OutputEncoding = Encoding.GetEncoding("ISO-8859-5");
        Console.WriteLine(Encoding.GetEncoding("ISO-8859-5").GetString(encoded_bytes));
    }
}

}