PHP连接MySQL查询结果中文显示乱码解决方法

yizhihongxing

当我们使用PHP连接MySQL查询结果展示的时候,如果涉及到中文,有可能会出现乱码现象。这时候我们需要针对这种情况做特殊的处理,才能够正确显示中文内容。以下是完整的攻略:

1. 调整MySQL字符集

在连接MySQL的时候,我们需要手动调整MySQL的默认字符集为UTF-8。具体步骤如下:

  • 编辑MySQL配置文件my.cnf,添加以下内容:
[client] 
default-character-set=utf8 

[mysql] 
default-character-set=utf8 

[mysqld] 
default-character-set=utf8 
character-set-server=utf8 
collation-server=utf8_general_ci 
  • 重启MySQL服务,让配置生效。

2. 调整PHP字符集

在PHP文件中,我们需要通过设置字符集编码来保证能够正确显示中文。具体步骤如下:

  • 在PHP文件中添加以下内容:
header("Content-Type:text/html;charset=utf-8");
  • 如果还是出现了乱码现象,可以尝试将查询结果手动转换成UTF-8编码。具体步骤如下:
mysqli_query($connection, "SET NAMES 'utf8'");
$result = mysqli_query($connection, "SELECT * FROM table");
while($row = mysqli_fetch_array($result)){
  $name = iconv('GBK', 'UTF-8', $row['name']);
  echo $name;
  //其他操作
}

上述代码中,我们通过调用iconv函数将查询结果中的name字段转换成UTF-8编码,然后输出到页面上。

示例1:

假设有一张名为users的表,包含以下字段:

  • id:用户ID,整型
  • name:用户名,字符串

现在我们要查询出所有用户的用户名并展示在页面上。代码如下:

<?php
header("Content-Type:text/html;charset=utf-8");

//连接MySQL
$connection = mysqli_connect("localhost", "username", "password", "database");
if(!$connection ){
  die('Could not connect: ' . mysqli_error());
}

//设置字符集
mysqli_query($connection, "SET NAMES 'utf8'");

//查询用户信息
$result = mysqli_query($connection, "SELECT * FROM users");

//遍历结果并展示用户名
while($row = mysqli_fetch_array($result)){
  $name = $row['name'];
  echo $name."<br>";
}

//关闭连接
mysqli_close($connection);
?>

示例2:

假设有一张名为students的表,包含以下字段:

  • id:学生ID,整型
  • name:学生姓名,字符串
  • major:所属专业,字符串

现在我们要查询出所有学生的信息并展示在页面上。代码如下:

<?php
header("Content-Type:text/html;charset=utf-8");

//连接MySQL
$connection = mysqli_connect("localhost", "username", "password", "database");
if(!$connection ){
  die('Could not connect: ' . mysqli_error());
}

//设置字符集
mysqli_query($connection, "SET NAMES 'utf8'");

//查询学生信息
$result = mysqli_query($connection, "SELECT * FROM students");

//遍历结果并展示学生信息
while($row = mysqli_fetch_array($result)){
  $id = $row['id'];
  $name = iconv('GBK', 'UTF-8', $row['name']);
  $major = iconv('GBK', 'UTF-8', $row['major']);
  echo "ID:".$id."<br>";
  echo "姓名:".$name."<br>";
  echo "专业:".$major."<br>";
  echo "<br>";
}

//关闭连接
mysqli_close($connection);
?>

通过上述两个例子,我们可以看到如何正确地连接MySQL并查询结果,并在页面上展示中文内容。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP连接MySQL查询结果中文显示乱码解决方法 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • 比特币是风险资产还是避险资产一文了解

    以下是“比特币是风险资产还是避险资产一文了解”的完整攻略: 比特币是风险资产还是避险资产一文了解 比特币是一种数字货币,它的价格波动非常大,因此有人认为它是一种风险资产。但是,也有人认为比特币是一种避险资产,可以用来对冲通货膨胀和政治不稳定等风险。以下是关于比特币是风险资产还是避险资产的详细攻略。 比特币是风险资产 有人认为比特币是一种风险资产,因为它的价格…

    html 2023年5月18日
    00
  • word中怎么打下划线 下划线的输入方法详细汇总

    以下是“Word中怎么打下划线,下划线的输入方法详细汇总”的完整攻略: Word中怎么打下划线? 在Word中,可以通过以下方法打下划线: 使用快捷键:在需要打下划线的文字后面,按下“Ctrl + U”快捷键即可打下划线。 使用“下划线”按钮:在“开始”选项卡的“字体”组中,可以找到“下划线”按钮,点击即可打下划线。 使用“字体”对话框:在“字体”对话框中,…

    html 2023年5月18日
    00
  • ps怎么使用蒙版工具快速抠图?

    PS怎么使用蒙版工具快速抠图?完整攻略 Photoshop是一款功能强大的图像处理软件,以下是使用蒙版工具快速抠图的详细攻略: 步骤1:打开图像 打开Photoshop。 打开要抠图的图像。 步骤2:创建蒙版 在图层面板中,复制要抠图的图层。 选择复制的图层。 单击“添加蒙版”按钮。 在蒙版上绘制要保留的区域。 在蒙版上绘制要删除的区域。 调整蒙版,直到达到…

    html 2023年5月17日
    00
  • JS解决url传值出现中文乱码的另类办法

    下面是详细讲解“JS解决url传值出现中文乱码的另类办法”的完整攻略。 问题背景 当我们在url中传输中文时,往往会出现中文乱码的情况,导致传递失败。这是因为url只能传输 ASCII 码字符集,对于其他字符编码必须做特殊处理。一般来说,我们可以使用 encodeURI() 或 encodeURIComponent() 方法将中文字符转换成 URI 格式,但…

    html 2023年5月31日
    00
  • HTML5的自定义属性data-*详细介绍和JS操作实例

    HTML5的自定义属性data-*是在HTML5标准化过程中新增加的一种方式,它可以通过在HTML元素上添加data-前缀的属性,来给元素附加自定义的数据。这些数据既可以用于增强现有的HTML特性,也可以用于JavaScript操作。 什么是自定义属性data-*? 自定义属性data-*的命名规则要求属性名必须以”data-“开头,并在开头后加上自己定义的…

    html 2023年5月30日
    00
  • log4j使用详细解析

    Log4j使用详细解析 Log4j是Java中常用的日志框架,可以用于控制日志输出的格式、级别、输出目的地等。本文将详细讲解Log4j的使用方法。 1. 引入Log4j依赖 在maven项目中,我们可以在pom.xml中添加以下依赖来引入Log4j: <dependency> <groupId>org.apache.logging.l…

    html 2023年5月30日
    00
  • 浅谈一下关于Python对XML的解析

    下面是关于Python对XML的解析的完整攻略。 一、什么是XML XML(可扩展标记语言)是一种用于储存和传输数据的标记语言,它使用标记来描述数据的结构和语义。与HTML不同,XML不是用于显示数据的,而是用于储存和传输数据。XML是一种可扩展的标记语言,可以定义自己的标记,具备灵活性和可扩展性。 二、Python对于XML的解析 Python提供了两种对…

    html 2023年5月30日
    00
  • 如何根据带账号密码的WSDL地址生成JAVA代码

    生成Java代码可以使用Apache Axis2工具,它可以自动生成客户端代码从而轻松地与Web服务进行交互。以下是如何使用带有账号密码的WSDL地址生成Java代码的完整攻略: 步骤1:安装Apache Axis2 首先需要下载并安装Apache Axis2工具,下载地址:http://axis.apache.org/axis2/java/core/dow…

    html 2023年5月30日
    00
合作推广
合作推广
分享本页
返回顶部