【问题标题】:Latin characters not working in html5 using UTF-8 [duplicate]拉丁字符在使用 UTF-8 的 html5 中不起作用 [重复]
【发布时间】:2017-02-21 13:42:36
【问题描述】:

嘿,所以我从 mysql 数据库中获取带有拉丁字符的文本,例如“ó”。这是连接以及我用来获取数据的查询,将其放在一个数组中:

<?php
    header('Content-Type: text/html; charset=UTF-8');
    $con=new mysqli ("localhost","root","","chroniclemark");

    $sqlget = "SELECT descricao FROM items;";
    $sqldata = mysqli_query($con,$sqlget) or die ('error getting database');
    while ($row = mysqli_fetch_array($sqldata, MYSQLI_ASSOC)) {
        $lol5[] = $row['descricao'] ;
     }?>

然后我尝试在 &lt;?php ?&gt; 语句之外显示文本,如下所示:

<p ><?php echo $lol5[0]; ?></p>

除了“ç”、“ó”、“ã”等之外,所有文本都很好。 我的标题中还有一个元标记&lt;meta charset="UTF-8"&gt;,但它没有帮助。 在数据库中,数据设置为“utf8mb4_unicode_ci”。 我能做些什么来解决这个问题?有什么想法吗?

【问题讨论】:

  • 首先将 utf-8 传递给“连接”。 10 次工作 9 次。
  • @Fred -ii 你好吗 Fred,pass 是什么意思?
  • 太好了,谢谢马克;希望你也一样。看看stackoverflow.com/questions/279170/utf-8-all-the-way-through,里面有例子,还有更多信息可供阅读。
  • @Fred -ii- 现在可以使用了!非常感谢
  • 不客气,马克;虽然它是重复的,但很高兴你得到了解决方案。

标签: php mysql html utf-8


【解决方案1】:

@Fred -ii 感谢您在 cmets 中为我指明正确的方向。 我所要做的就是在进行查询之前使用mysqli_set_charset($con, 'utf8mb4');

$sqlget = "SELECT descricao FROM items;";
 $sqldata = mysqli_query($con,$sqlget) or die ('error getting database');

现在一切都很好:)

【讨论】:

    猜你喜欢
    • 2013-04-21
    • 1970-01-01
    • 2023-04-07
    • 2019-01-30
    • 1970-01-01
    • 2012-08-29
    • 2011-02-27
    • 2016-01-08
    • 2016-01-03
    相关资源
    最近更新 更多