1

我在 MySQL 中有一个带有utf_general_ci编码的数据库,当我在 Navicat 或 PhpMyAdmin 中插入数据并在那里进行查询时,特殊字符会很好地返回。

但在 php 变量中,它们显示如下:

他们如何显示

我的数据库和排序规则:

数据库

如果它是正常的,在我的 html 文档中

它显示字符OK,只有当是php变量时才不起作用

请帮我

4

3 回答 3

4

尝试:

$variable = utf8_encode($valueCommingFromDB);
于 2013-10-09T20:23:51.477 回答
1

需要注意的是,mysql中的utf8是相当有限的,尤其是utf8_general_ci。您可能想切换到 utf8_unicode_ci 或 utf8mb4

utf8_general_ci 和 utf8_unicode_ci 有什么区别

http://mathiasbynens.be/notes/mysql-utf8mb4

于 2013-10-09T20:30:00.503 回答
0

嘿,

首先确保你在 html 标签中有这个元

<meta charset="UTF-8">

您也可以在 php 中检查这一行,在 mysql 提取上方

header('Content-type: text/html; charset=utf-8');

如果您将特殊字符作为 html 代码存储在数据库中&#39;,则'在提取时尝试使用此 php 函数

htmlspecialchars_decode($your_text_from_db);
于 2016-08-25T11:48:21.363 回答