我试图在从 mySQL (utf8_general_ci) 拉出的下拉框中显示 utf8 字符,这些字符返回为带有 ? 在中间。
我试过 htmlspecialchars 和 htmlentities。它返回一个空白字符串。站点的字符集也设置为 utf-8。
非常感谢。
尝试使用utf8_encode()函数,看看它是否有效。
$inn_qu=mysql_query("select * from catagory where ct_id='$id' order by c_id");
while($re=mysql_fetch_array($inn_qu)){
$trs=get_html_translation_table(HTML_ENTITIES);
$str=$re['c_rate'];
$encode=strtr($str,$trs)
设置服务器的字符集:
mysql> SET character_set_database = 'utf8mb4';
mysql> SET character_set_server = 'utf8mb4';
查看与字符集相关的所有 MySQL 变量:
mysql> SHOW VARIABLES LIKE '%character_set%';
要更改PHP应用程序中的字符集:
/* change character set to utf8mb4 */
if (!($mysqli->[set_charset][1]("utf8mb4")))
{
printf("Error loading character set utf8mb4: %s\n", $mysqli->error);
exit();
}
else
{
printf("Current character set: %s\n", $mysqli->character_set_name());
}
参考: