ギリシャ語のデータベースを utf8 に変換しようとしています。この時点で、(iconv() 関数ではなく、MySQL を介して) 方法を理解しましたが、問題があります: アプリケーションはデータベースに大量のデータを PHP のシリアル化された形式で (serialize() を介して) 保存します。 .
ご存じのとおり、この形式では文字列の長さがシリアル化された文字列に格納されます。これは、変換後に長さが変更されるため (php5 は Unicode を適切にサポートしていないため)、これらの文字列をシリアル化解除できなくなることを意味します。
これまでのところ、これを回避するために次のいずれかのアプローチを使用することを検討しています。
- PHP を使用してこれらの文字列を utf8 に変換し、シリアル化された文字列全体を変換する代わりに、シリアル化を解除して配列内のすべての項目を変換します。
- シリアル化された文字列の長さを再計算するスクリプトを作成します。
オプション #2 の方が簡単に思えますが、これを行うためのより迅速な方法が必要であると考えています。私は間違いなくこの問題に直面した最初の人ではないので、それらを変換するための無料で入手可能なスクリプトでさえあるかもしれません. 何か案は?
前もって感謝します。