phpはすべての文字セットエンコードを含む文字列をutf8に変換できますか?
動作しないソリューション:
utf8_encode($string)
-しかし、ISO-8859-1文字列をUTF-8にエンコードするのはそれだけですか?iconv($incharset, $outcharset,$text)
-しかし、文字列の現在のエンコードをどのように見つけることができますか?(文字列だけでなく、html domドキュメントの文字列部分の場合にのみ可能です)
ありがとう
phpはすべての文字セットエンコードを含む文字列をutf8に変換できますか?
動作しないソリューション:
utf8_encode($string)
-しかし、ISO-8859-1文字列をUTF-8にエンコードするのはそれだけですか?iconv($incharset, $outcharset,$text)
-しかし、文字列の現在のエンコードをどのように見つけることができますか?(文字列だけでなく、html domドキュメントの文字列部分の場合にのみ可能です)ありがとう
PHPでサポートされている任意のエンコーディングからiconv()
UTF-8に文字列を変換することができます。
しかし、文字列の現在のエンコードをどのように見つけることができますか?
現在のエンコーディングを「見つける」必要はありません。スクリプトは常にそれが何であるかを知っている必要があります。クエリするリソースは、適切にエンコードされている場合、content-type
ヘッダーまたはその他の方法でエンコードされます。
Artefactoが言うように、使用する可能性はありますがmb_detect_encoding()
、これは信頼できる方法ではありません。プログラムのデータフローでは、文字列がどのエンコーディングであるかを常に定義する必要があります(できれば、内部でUTF-8を使用することをお勧めします)。これが方法です。
一般に、を使用して特定の文字列のエンコーディングを知ることはできません。
あなたができることは推測することだけです。がありますがmb_detect_encoding
、これは実際にはうまく機能しません。さらに、言語キューを使用するブラウザで使用されるような、より複雑なヒューリスティックがあります。