我从邮件服务器获取电子邮件并将邮件转换为UTF-8字符集并将其保存在DB中。要转换我使用mb_convert_encoding的字符集但它无法转换gb2312
和ks_c_5601-1987
。在谷歌搜索中,我发现gb2312
而不是CP936
而ks_c_5601-1987
使用CP949
而不是{{1}}。
通过上面的方法,它意味着在我的代码中维护一个单独的charset映射列表。 有没有办法将编码名称规范化为PHP内部支持的名称,从而无需在本地维护任何地图?
答案 0 :(得分:2)
根据list of supported character encodings,代码页明确列出了少量编码。鉴于这些案例数量很少 - 虽然不是所要求的内置规范化 - 但映射列表可能不太合适。
相关的似乎如下(右侧的小写名称是您需要转换的名称):
以下内容也在PHP文档的代码页中列出,但似乎已经有了合适的同义词: