我正在尝试在mysql数据库中插入数据。这些数据通常都带有德语变元。
我正在使用这种方法:
first: 0.0531640987396
second : 0.0527780056
3rd : 0.0523271560669
如你所见,我已经在做一些调试了。 我从Excel .xls文件中获取数据。 print_r授予如下输出:
function insertMenue($content, $date) {
$session = $_SESSION['aid'];
global $pdo;
$pdo->exec('SET CHARACTER SET utf8');
$params = ["menue", "<p>".changeAttr($content)."</p>", $date, $session];
// Check all your params are set...
// Although you may want to consider checking these before entering this block
print_r($params);
echo "c".changeAttr($content);
print_r("v". changeAttr($content));
$sql = "INSERT INTO menue( type
, content
, date
, creator
)
VALUES( ?
, ?
, ?
, ?
)";
try {
$sth = $pdo->prepare($sql);
$sth->execute($params);
} catch (PDOException $e) {
throw new pdoDbException($e);
}
}
当我检查mysql数据库时,包括 和之后的所有内容都被删除了。 像:
Salat
****
Trutenpiccata Tomatensauce
Spaghetti
Gem�sebuffet
-
****
Saisonfr�chte
我尝试将插入方法中的数据编码为utf-8,并将数据库设置为utf-8:
Salat
****
Trutenpiccata Tomatensauce
Spaghetti
Gem
我在哪里错过了将数据编码为utf-8的要点?
答案 0 :(得分:0)
你也需要将charset放在你的html代码中。 这是帮助我解决问题的原因;)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" /><!-- THIS IS WHAT NEEDED -->
</head>
<body>
</body>
</html>
添加之后,我没有遇到任何问题。 我也在完整的数据库中使用UTF-8,所以这应该不是问题。