当从MySQL数据库回显数据时,我在文本中出现奇怪的符号。我试过htmlspecialchars_decode()
,但无济于事。数据在MySQL数据库中存储为VARCHAR
,并且在MySQL工作台中查询时显示为他们应该显示的数据。在浏览器中不显示特殊字符
的字符包括'
,ë
,è
,é
,ê
,...
如何获得这些字符在HTML中显示?
当从MySQL数据库回显数据时,我在文本中出现奇怪的符号。我试过htmlspecialchars_decode()
,但无济于事。数据在MySQL数据库中存储为VARCHAR
,并且在MySQL工作台中查询时显示为他们应该显示的数据。在浏览器中不显示特殊字符
的字符包括'
,ë
,è
,é
,ê
,...
如何获得这些字符在HTML中显示?
这为我工作:
$db = Database::getInstance();
$mysqli = $db->getConnection();
$mysqli->set_charset('utf8mb4');
有你宣布你的网页的HTML字符集?
在HTML5中,这是好的:
<meta charset="UTF-8">
旧(HTML 4.01)需要类似:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
你有编码问题。
您需要设置<meta charset="UTF-8">
。
您需要在建立连接到数据库 “SET NAMES UTF8”
如果您在使用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);
希望这将有助于
这个问题已经被问过。 http://www.joelonsoftware.com/articles/Unicode.html – Strawberry 2014-12-02 16:37:41
试试这个:<?php header(“Content-Type:text/html; charset = utf-8”); ?>' – Rizier123 2014-12-02 16:38:08
[UTF-8一路通过]可能的重复(http://stackoverflow.com/questions/279170/utf-8-all-the-way-through) – vaso123 2014-12-02 16:38:16