【问题标题】:ñ character showed as �, when retrieving from mysql to php [duplicate]ñ 字符显示为 �,从 mysql 检索到 php [重复]
【发布时间】:2019-01-19 03:33:36
【问题描述】:

我的 mysql 数据库表中有一个数据,它是 Biñan。但是,当我尝试使用 php 检索它时,它在我的下拉列表中显示为Bi�an

这是我的示例代码:

<?php
   $query = "SELECT * from municipality";
   $res = mysqli_query($conn,$query);
   while($row = mysqli_fetch_assoc($res))
   {
     echo "<option value='".$row['m_id']."'>".$row['m_name']."</option>";
   }
?>

但是当我在 php/mysql 中手动回显/插入字符 ñ 时,它按原样显示。我还将字符集设置为UTF-8

问题已解决! 我只需要将数据库表中的ñ 替换为ñ。所以它在我的网站上显示ñ

【问题讨论】:

  • 不! 两错不成对!不要“将ñ 替换为ñ”!请参阅stackoverflow.com/questions/38363566/… 中的“黑色钻石”以了解可能的原因。这应该可以帮助您彻底解决它,而不是一次解决一个问题!

标签: php html mysql mysqli utf-8


【解决方案1】:

否则它在数据库中。 在您的数据库中执行此操作。

ALTER TABLE 市镇整理 utf8_general_ci

or

ALTER TABLE 自治市转换为字符集 utf8;

【讨论】:

    【解决方案2】:

    尝试:

    ALTER DATABASE <databasename> CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    ALTER TABLE municipality CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    

    【讨论】:

      【解决方案3】:

      将此添加到您的头 html 文件中。

      在应答器中:

      meta http-equiv="Content-Type" content="text/html; charset=UTF-8"

      【讨论】:

      • 我按照你的指示做了,但输出还是一样..
      猜你喜欢
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 2012-10-04
      • 2015-12-19
      • 2012-06-19
      • 2017-08-03
      • 2021-08-18
      • 2012-05-13
      相关资源
      最近更新 更多