gpt4 book ai didi

php - 如何将MySQL数据库中的特殊字符显示到html中?

转载 作者:行者123 更新时间:2023-11-30 01:37:44 26 4
gpt4 key购买 nike

我有一个巨大的数据库,存储了很多语言。所有数据都存储在utf8_unicode_ci中,我的数据库排序规则是utf8_unicode_ci,我使用特殊的php页面来调用sql数据这是我的代码:

<?php
header('Content-Type: text/html; charset=utf-8');
$date=$_POST['date'];//I get this information from ajax request
$server_root = "./";
if(file_exists("{$server_root}include-sql/mysql.class.php"))
{
include_once("{$server_root}include-sql/mysql.class.php");
}
include_once("{$server_root}config.php");//database connection information
$db1;
$db1 = new db_mysql($conf['db_hostname'], $conf['db_username'], $conf['db_password'], $conf['db_name']);
$sql = $db1->query("select * from matches where match_date='$date'");
$i=0;
while($sql_results = $db1->fetch_array($sql))
{
$match[$i]['tournament_id'] = $sql_results['tournament_id'];
$match[$i]['id'] = $sql_results['id'];
$match[$i]['match_id'] = $sql_results['match_id'];
$match[$i]['match_date'] = $sql_results['match_date'];
$match[$i]['match_time'] = $sql_results['match_time'];
$match[$i]['match_status'] = $sql_results['match_status'];
$match[$i]['match_venue'] = $sql_results['match_venue'];
$match[$i]['venue_id'] = $sql_results['venue_id'];
$match[$i]['static_id'] = $sql_results['static_id'];
$match[$i]['match_week'] = $sql_results['match_week'];
$match[$i]['localteam_name'] = $sql_results['localteam_name'];
$match[$i]['localteam_score'] = $sql_results['localteam_score'];
$match[$i]['localteam_ft_score'] = $sql_results['localteam_ft_score'];
$match[$i]['localteam_et_score'] = $sql_results['localteam_et_score'];
$match[$i]['localteam_pen_score'] = $sql_results['localteam_pen_score'];
$match[$i]['localteam_id'] = $sql_results['localteam_id'];
$match[$i]['visitorteam_name'] = $sql_results['visitorteam_name'];
$match[$i]['visitorteam_score'] = $sql_results['visitorteam_score'];
$match[$i]['visitorteam_ft_score'] = $sql_results['visitorteam_ft_score'];
$match[$i]['visitorteam_et_score'] = $sql_results['visitorteam_et_score'];
$match[$i]['visitorteam_pen_score'] = $sql_results['visitorteam_pen_score'];
$match[$i]['visitorteam_id'] = $sql_results['visitorteam_id'];
$match[$i]['halftime_score'] = $sql_results['halftime_score'];
$match[$i]['stage_id'] = $sql_results['stage_id'];
$i++;
}
echo json_encode($match);//return json to my ajax function
?>

问题是mysql中的所有特殊字符都没有在浏览器的html中显示或显示为null我想知道这里有什么我错过的吗?如何在我的页面上显示这些字符

最佳答案

连接到 MySQL 后尝试使用 SET NAMES utf8:

$db1 = new db_mysql($conf['db_hostname'], $conf['db_username'], 
$conf['db_password'], $conf['db_name']);

$db1->query("SET NAMES utf8");

作为manual说:

SET NAMES indicates what character set the client will use to send SQL statements to the server... It also specifies the character set that the server should use for sending results back to the client.

关于php - 如何将MySQL数据库中的特殊字符显示到html中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16622692/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com