我需要一些帮助来了解utf8数据在存储在数据库中时的外观。
我正在使用mysql和php,数据库设置为utf8,列“ p_name”上的排序规则设置为“ utf8_unicode_ci”。
当我插入数据时,我通过该函数传递数据
function convert_charset($in_str)
{
$cur_encoding = mb_detect_encoding($in_str) ;
if($cur_encoding == "UTF-8" && mb_check_encoding($in_str,"UTF-8"))
return $in_str;
else
return utf8_encode($in_str);
}
然后将其插入数据库。当我在php中读取数据并将其显示在浏览器中时,我在页面中使用utf8,数据显示正确,但是我怀疑可能有问题。
以法语单词
éditez
为准。但是,在数据库中查看时,同一词被存储为éditez
。这是正确的吗?这是mysql应该如何存储该单词的方式,还是我设置错误了?这是我已经设置的:
php.ini->设置为utf8
数据库->设置为utf8
表列->设置为utf8_unicode_ci
html页面->设置为utf8。
最佳答案
在数据库连接设置功能结束后立即尝试此查询mysql_query('SET NAMES "utf8"');