【问题标题】:Convert weird strings to UTF-8 Legible characters from PHP从 PHP 将奇怪的字符串转换为 UTF-8 易读字符
【发布时间】:2018-07-02 02:56:41
【问题描述】:

我从 MYSQL 中得到一些字符串,如下所示:

ϼ³Ï½ˆÏ½Ï½— ϼ­Ï½… ϼ¹Ï½Ï½•Ͻ’ ϼ¢Ï½Ï½„Ͻ™ BY ϼ¹Ï½•ϽϽϽ™Ï½–ϽˆÏ½“
 ϼ¶Ï¼¯Ï¼©Ï¼
 ɖ¢ Ä¿‚ Ç›® ƨ™ A F Â

这些是用户提交的标题,但我似乎无法将它们作为常规字符输出。我怀疑它们可能是日文字符,但我不确定。我的 html 顶部如下所示:

<meta charset="utf-8">

我的MYSQL数据库编码为:

 utf8mb4_unicode_ci 

有没有办法处理这个问题并将它们作为可读字符输出到 HTML 中?我将它们作为常规字符串从 mysql 中拉出 - 但它们仍然输出为垃圾而不是清晰的字符。有没有办法解决这个问题?还是这不是 utf-8?

【问题讨论】:

  • 你的mysql连接是否设置为使用UTF8?
  • UTF-8 all the way through的可能重复
  • 你为什么使用 2 个字符编码?不要那样做。删除&lt;META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"&gt;
  • @user 我的 mysql 说该字段是 utf8_general_ci 并且它设置为 utf8mb4_unicode_ci
  • 它使用 2 种字符编码,还是一种是排序规则?您应该使用相同的字符集。这也没有显示 PHP 端在做什么。您真的应该一直使用 UTF8。

标签: php string utf-8 utf iso-8859-1


【解决方案1】:

更新 php.ini:

default_charset = "utf-8";

更新你的mysql SCHEMA:

... DEFAULT CHARACTER SET UTF-8

【讨论】:

    猜你喜欢
    • 2019-12-29
    • 1970-01-01
    • 1970-01-01
    • 2011-05-15
    • 2016-08-14
    • 2013-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多