我需要一些帮助来理解存储在数据库中时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,并且数据显示正确,但是我怀疑某些内容可能是错误的。
采取FRENCH字éditez
这就是它应该看起来的样子。但是在我查看数据库时,同一个单词存储为éditez
。这是正确的吗?这是mysql应该如何存储该单词,还是我设置错误?
这是我已经设定的内容:
答案 0 :(得分:3)
在数据库连接设置功能
之后立即尝试此查询 mysql_query('SET NAMES "utf8"');
答案 1 :(得分:0)
您是否尝试过将您的连接字符串设置为UTF8?
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword; CharSet=UTF8;