ユーザーがファイルをアップロードするサイトがあり、それらをさまざまな配列に解析してから、MySQL データベースに保存します。問題は、一部の特殊文字 (たとえば ø やフランス語の他の文字など) が原因で、シリアル化された配列が全体として格納されないことです。
たとえば、配列が の場合、データベースに入りAAAAAAAAAAAAAøbbbbbbbbbbbbbcccccccccccますAAAAAAAAAAAAA。残りは失われます。シリアル化された配列をアップロードする前に、mysql_real_escape_stringそれを行います。マジック クォートはオフで、文字列Longtextは.utf8_unicode_ciutf8_unicode_ci collation
文字列をインポートするコードは次のとおりです。
mysql_query(" INSERT INTO logs(uploaderid,date,randomstring,array1,array2,
array3,array4)
VALUES(
'".$_SESSION['id']."',
NOW(),
'".mysql_real_escape_string($stringvalue)."',
'".mysql_real_escape_string(serialize($array1))."',
'".mysql_real_escape_string(serialize($array2))."',
'".mysql_real_escape_string(serialize($array3))."',
'".mysql_real_escape_string(serialize($array4))."'
)");
私は何を間違っていますか?