ÆØÅ 字母随机被 æÃ~Ã¥ 替换

Posted

技术标签:

【中文标题】ÆØÅ 字母随机被 æÃ~Ã¥ 替换【英文标题】:ÆØÅ Letters randomly being replaced by æØå 【发布时间】:2013-06-15 07:03:47 【问题描述】:

是的,当加载/刷新调用某些值的 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" />

【问题讨论】:

你的mysql连接不知道你想用UTF8说话 确保你对mysql和html都使用了正确的编码。 @Basje Nono,在我添加上述代码 sn-p 之前,它 100% 的时间都正常工作 @HanletEscaño 我对 MySQL 和 PHP 文档使用 UTF-8 @TheLastMelody 不同的浏览器会发生同样的情况吗?我想知道奇怪的字符是否被缓存了。 【参考方案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 有一个用于字符集 utf8 的 meta 标签,您也需要做更多的工作。顺便说一句,html5(而不是现在已经过时的 html4.01)的新格式是:

<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    ...
  </head>
  <body>...</body>
</html>

mysql connection 还需要被告知一切都是UTF8 格式。然后,为了更好地衡量,您还希望确保您的脚本本身(.php 文件)保存为 unicode 文件,因为是的,这也会把事情搞砸(有趣的时候!)

【讨论】:

谢谢,这导致“随机”问题消失,现在它只显示奇怪的字符,所以现在我只需要更正数据库中的字符,谢谢^_^

以上是关于ÆØÅ 字母随机被 æÃ~Ã¥ 替换的主要内容,如果未能解决你的问题,请参考以下文章

[JavaScript]æ™戡–“å184;墽墽墽

参考财产

任意底对数

从Java执行Groovy

47都道府県セレクトボックス

如图所示