2

UTF-8スペイン語でエンコードされたデータを取得しています。私がそれを入れる必要があるデータベース列は現在latin1charsetを使用しています。

そのUTF-8データをそれらの列に入れるとどうなりますか?正しいデータは失われますか?または、php関数を使用してエンコーディングを変換する必要がありますmb_convert_encodingか?

4

1 に答える 1

3

可能なすべてのバイトシーケンスはで有効でlatin1あるため、UTF-8でエンコードされた文字列を列に入れることができ、何も文句を言うことはありません。データベースからデータを抽出して戻すと、バイトは入力されたときと同じになるため、クライアントがそれらのバイトがUTF-8でエンコードされていることを知っていれば、元のデータを取り戻すことができます。

ただし、実際にはそのようにすべきではありません。列のデータ型をUTF-8に変更してみませんか?

ALTER TABLE my_table MODIFY my_column TEXT CHARACTER SET utf8;
于 2012-05-05T09:23:42.480 に答える