我试图在一个从mySQL(utf8_general_ci)中拉出的下拉框中显示utf8字符,这些字符将作为带有?的钻石返回?在中间。
我尝试过htmlspecialchars和htmlentities。它返回一个空字符串。 网站也将字符集设置为utf-8。
非常感谢。
答案 0 :(得分:2)
尝试使用utf8_encode()功能,看它是否有效。
答案 1 :(得分:0)
$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)
答案 2 :(得分:0)
设置服务器的字符集:
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());
}
参考: