我在MySQL中有一个带utf_general_ci
编码的数据库,当我在Navicat或PhpMyAdmin中插入数据并在那里进行查询时,特殊字符返回正常。
但是在php变量中它们显示如下:
我的数据库和排序规则:
并且在我的html doc中如果它是正常的
它显示的字符OK,它只在php变量时才起作用
请帮帮我
答案 0 :(得分:3)
尝试:
$variable = utf8_encode($valueCommingFromDB);
答案 1 :(得分:1)
重要的是要注意mysql中的utf8相当有限,尤其是utf8_general_ci。您可能想切换到utf8_unicode_ci或utf8mb4
What's the difference between utf8_general_ci and utf8_unicode_ci
答案 2 :(得分:0)
平,
首先确保你在html标签中有这个元
<meta charset="UTF-8">
你也可以在php中查看这行,在mysql提取上面
header('Content-type: text/html; charset=utf-8');
如果你将特殊字符作为html代码存储在数据库中,就像这个'
,'
当你解压缩尝试使用这个php函数时
htmlspecialchars_decode($your_text_from_db);