データベースコンテンツを(PHPスクリプトを使用して)移行しようとしています。
コンテンツはCMSにコピーされ、データベースに書き込まれました。コピーされるコンテンツは、任意の文字エンコード方式(IS0 -...-14など)および任意のWebサイトからのものである可能性があります。
PHP CMSはUTF-8であるため、テキストボックスに貼り付けられた文字は、POSTされたときにUTF-8に変換されますが、Latin-1としてデータベースに書き込まれます(MSSQL db ...dbcharsetとquerycharsetboth latin-1 )。
私たちは、これをどのように元に戻すことができるか、またはPHPで可能かどうか(文字が完全にUTF-8になるようにするため)を必死に考えようとしています。
ロジックを取得できれば、PHPがそれを処理できない場合(おそらくcant、mb_shite、iconv)、C++で拡張機能を記述できます。
UTF-8の4バイト文字ストリーム(つまり、0-127 is..ect)で迷子になり続けます。
誰かアイデアがありますか?
これまで、PHPのord()関数を使用して、各文字のUnicode / Accii文字参照を生成しようとしました(ordはASCIIを返すことは知っていますが、128を超える文字番号を出力します。これは、ASCIIだけを意味する場合は奇妙だと思いました。または多分それはそれ自身を繰り返す)。
私の考えでは、latin1はUTF-8に戻すのに苦労し、Latin1(ISO -...-1)の1バイトのcharストリームが原因で黒いひし形になります。