是的,我有一个问题,当加载/刷新一个调用某些值的php页面时,ÆØÅ随机被替换为Ã||〜¥...
在我添加
之前一切正常$Filename = preg_replace("/[^a-zA-Z0-9]/", "", $Filename);
但是这导致脚本删除了。在文件扩展名中,所以我删除了代码。现在它随机替换加载/刷新时的字母
$Filename=$_FILES['Filename']['name'];
$Description=$_POST['Description'];
$Contact=$_POST['Contact'];
$Time = gmdate('Y-m-d H:i');
$Title=$_POST['Title'];
$Filename = preg_replace("/[^a-zA-Z0-9]/", "", $Filename);
if(move_uploaded_file($_FILES['Filename']['tmp_name'], $target)) {
echo "Filen ". basename( $_FILES['Filename']['name']). " er nå lagt til blant Alta Botanikkforeningens funn.";
mysql_connect("localhost", "root", "") or die(mysql_error()) ;
mysql_select_db("altabotanikk") or die(mysql_error()) ;
mysql_query("INSERT INTO picture (Filename,Description,Contact,Time,Title)
VALUES ('$Filename', '$Description', '$Contact', now(), '$Title')") ;
} else {
echo "Det skjedde noe galt her :/";
}
由于它是随机的并且在任何地方都没有错误,我不知道造成这种情况的原因。
HTML声明UTF-8
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
答案 0 :(得分:1)
您确定您的MySQL连接始终是UTF8吗?
mysql_connect("localhost", "root", "") or die(mysql_error()) ;
// make sure we're in UTF8 mode!
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
// continue
mysql_select_db("altabotanikk") or die(mysql_error()) ;
然后从那里拿走它?
即使您的HTML有charset utf8的meta
标记,您还需要更多工作。顺便说一下,html5的新格式(而不是现在过时的html4.01)是:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
...
</head>
<body>...</body>
</html>
还需要告诉mysql 连接一切都是UTF8。然后,为了更好的衡量,您还需要确保您的脚本本身(.php文件)保存为unicode文件,因为是的,这也可以搞砸了(有趣的时间!)