Ich hole E-Mails von einem Mail-Server und konvertiere die Nachricht in UTF-8-Zeichensatz und speichere sie in DB. Um den Zeichensatz zu konvertieren, verwende ich mb_convert_encoding, aber gb2312
und ks_c_5601-1987
kann nicht konvertiert werden. Beim googeln habe ich festgestellt, dass ich statt gb2312
CP936
verwenden kann und ks_c_5601-1987
CP949
verwende.Wie normalisiert man Kodierungsnamen, wie ks_c_5601-1987 zu CP949?
Mit dem obigen Ansatz würde es bedeuten, eine separate Liste von Zeichensatzzuordnungen in meinem Code zu verwalten. Gibt es eine Möglichkeit, Namen von Kodierungen auf Namen zu normalisieren, die intern von PHP unterstützt werden, so dass keine Karte lokal gepflegt werden muss?
ich würde vorschlagen, yo Verallgemeinern Sie die Frage, um nach einer Möglichkeit zu fragen, Namen von Kodierungen auf Namen zu normalisieren, die intern von PHP unterstützt werden. Das wäre eine nützliche, allgemein anwendbare Frage. – deceze
Danke nice suggestion bearbeitet die Frage –
'iconv' erkennt' ks_c_5601-1987' aber kann nicht konvertieren. 'mb_convert_encoding' unterstützt' 949' oder 'ks_c_5601-1987' überhaupt nicht. 'iconv' erkennt und kann' gb2312' trotzdem konvertieren. – Esailija