【发布时间】:2011-12-27 13:32:33
【问题描述】:
我的上传脚本似乎没有将韩语字符正确存储到数据库中。
$file_name = $_FILES['Filedata'][ 'name' ];
$newFileName = time() . "-" . $file_name;
$target = $uploaddir . $newFileName;
$source_file_path = $_FILES['Filedata']['tmp_name'];
if( move_uploaded_file( $source_file_path, $target ) ) {
$sql = "INSERT INTO images(file, album, author) VALUES('".$newFileName."', '".$albumID."', '".$authorID."')";
$result = mysql_query($sql);
if(!$result) {
echo "Could not store into database";
} else {
$sql = "UPDATE albums SET `lastdate` = NOW() WHERE id = '".$albumID."'";
if(mysql_query($sql)) {
echo str_replace($_SERVER['DOCUMENT_ROOT'],'',$target);
} else {
echo mysql_error();
}
}
}
奇怪的是,它以正确的名称正确存储文件,但它会将所有不寻常的字符(例如“1321088842-ê°ì‚¬.jpg”)添加到数据库中。数据库设置为utf8_general_ci,所以我不确定问题可能是什么。有什么想法吗?
【问题讨论】:
-
如果从 php 中回显它会打印什么?如果它仍然是乱码,我想您必须在更新数据库之前将其编码为 php 中的 UTF-8。