当从MySQL数据库回显数据时,我在文本中得到了奇怪的符号。我试过htmlspecialchars_decode()
,但无济于事。数据在MySQL数据库中存储为VARCHAR
,并在MySQL工作台中查询时显示。
字符包括'
,ë
,è
,é
,ê
,...
如何在html中显示这些字符?
答案 0 :(得分:1)
您是否在页面的HTML中声明了一个字符集?
在HTML5中,这很好:
<meta charset="UTF-8">
旧版(HTML 4.01)需要:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
答案 1 :(得分:1)
您有编码问题。
您需要设置<meta charset="UTF-8">
。
您需要在设置与DB的连接后运行查询&#34; SET NAMES utf8&#34;
如果你使用PDO需要像这样设置PDO new M_PDO("mysql:host={$dbhost};dbname={$dbname};charset=utf-8", $dbuser, $dbpassword);
此外,你可以使用这个函数来编码html实体的重音
function convert($str){
return mb_convert_encoding($str, "HTML-ENTITIES", "UTF-8");
}
echo convert($YourDataFromDB);
希望它会有所帮助
答案 2 :(得分:0)
这对我有用:
$db = Database::getInstance();
$mysqli = $db->getConnection();
$mysqli->set_charset('utf8mb4');
被盗