MySQL データベースはutf8
エンコードされたテキストを返します。基本的に、PDO
属性を使用MYSQL_ATTR_INIT_COMMAND
して渡しました:
SET CHARACTER SET utf8
utf8
エンコードされたテキストを返します。ただし、データベース内の一部のテキストはプレーンutf8
であり、そのような&alum;
ものはそのまま返されます。
したがって、実際の文字utf8_encode
を取得するには、php で再度呼び出す必要があります。utf8
その正常に動作します。
テキストを2回エンコードすることで悪影響が生じるか、上記のようにエンコードされていないテキストをエンコードする以外に影響がないかどうかを知りたいですか?
ありがとう!
編集:
次のコードを使用して正しい文字を取得しています。
$val = utf8_encode(addslashes(html_entity_decode(strip_tags($val))));
したがって、次のテキストを次のテキストから変換します。
<font color=\"#222222\" face=\"arial, sans-serif\" size=\"2\"> Test Event </font><span style=\"color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px;\">Persönlichkeit Universität"</span>
(このテキストは、 を呼び出した後、データベースから取得されますSET CHARACTER SET utf8
)
に:
Test Event Persönlichkeit Universität\"