我有一个用户上传文件的网站,我将它们解析为不同的数组,然后将它们存储在 MySQL 数据库中。问题是一些特殊字符——例如 ø 或其他来自法语的字符——导致序列化数组不能作为一个整体存储。
例如,如果数组是AAAAAAAAAAAAAøbbbbbbbbbbbbbccccccccccc
,我将进入AAAAAAAAAAAAA
数据库。其余的将丢失。在我上传序列化数组之前,我mysql_real_escape_string
先。魔术引号已关闭,并且字符串存储在具有排序规则的数据库中的Longtext
字段中。utf8_unicode_ci
utf8_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))."'
)");
我究竟做错了什么?