将Unicode字符数据库问题
问题描述:
您好IAM真正的战斗来解决这个问题将Unicode字符数据库问题
我有一个脚本,将阿拉伯字母到数据库
我的数据库和表是utf-unicode_ci
$title = make_safe($_POST['title']);
$author = make_safe($_POST['author']);
$category = make_safe($_POST['category']);
$meta = str_replace(array('-', ' ', '*'),",",make_safe($_POST['meta']));
if ($title == "" OR $author == "" OR $category == "")
{
echo $lang['STORY_FIELDS_MUST_FILL'];
echo "<META HTTP-EQUIV='refresh' CONTENT='2; URL= stories.php?action=add'>";
}
else
{
$stmt = $db->prepare ("INSERT INTO stories (title,author,category,meta,date)
VALUES (:title,:author,:category,:meta)");
$stmt->execute(array(':title' => $title,
':author' => $author,
':category' => $category,
':meta' => $meta));
echo "$lang[STORY_ADDED]";
echo "<META HTTP-EQUIV='refresh' CONTENT='2; URL=" . $_SERVER['HTTP_REFERER'] . "'>";
}
当添加文章从这个PHP代码它显示在这样的phpmyadmin
当我插入值,通过phpMyAdmin的
它表明这样的,一切要细
如何通过PHP代码添加它来显示同样喜欢从phpMyAdmin的将它添加
答
感谢解决方案是连接后执行此代码执行此
$ pdo-> exec('SET NAMES \'utf8 \'COLLATE \'utf8_unicode_ci \'');
所以'make_safe'必须有一些技巧在做。如果您也可以发布该功能。 – Rikesh 2013-04-22 09:10:24
当你连接到mysql时,你执行'SET names utf8'查询吗? – krcko 2013-04-22 09:11:10
'make_safe()'似乎是不必要的 – 2013-04-22 09:11:41