【发布时间】:2017-02-07 11:51:11
【问题描述】:
所以我在 wamp 服务器上使用 PHPMyAdmin 手动将数据插入到我的数据库中。我的数据库在 utf8_bin 中,我的表在 utf8_bin 中,表的列在 utf8_bin 中。我添加了菜单名称“Hébergement”(意为法语托管)。在 PHPMyAdmin 中,重音按预期显示,并且带有重音的数据是可读的。
当我加载菜单名称时,我会得到这个重音而不是重音:H�bergement。
这是 PHP 的简历
$connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME);
$query = "SELECT * ";
$query .= "FROM category ";
$query .= "WHERE id = {$newSection}";
$sectionInfo = mysqli_query($connection, $query);
$section = mysqli_fetch_assoc($sectionInfo);
$output .= $section["name"];
echo $output;
如果我用$output = "Héberment"; 替换$output,回显将显示重音,因此问题不是来自我的HTML 或我的PHP。
现在如果我UPDATE在PHP页面中用纯文本写的单词的字段然后查询它的新内容,它将显示重音。问题是现在 PHPMyAdmin 中的“é”被替换为“é”,导致我的文本不可读。
现在,由于 PHPMyAdmin 是一个网页,它能够正确地向我显示重音符号,因此必须有一种方法可以像 PHPMyAdmin 一样查询表格内容并将其显示为重音符号,而不是“�”同时保持内容在 PHPMyAdmin 中的可读性。
我是 PHP 和 MySQL 的初学者,如果您需要更多详细信息,请告诉我。
编辑:为了澄清,我截取了我在 PHPMyAdmin 中部分编辑的一行(手动添加了可读的重音)以说明可读性的对立。
【问题讨论】:
-
确保正确设置页面的
charset。 -
是的,我在
<head>标签后面有这个:<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -
它需要在页面的
<head>部分,而不是在<html>之后 -
我只是把它移到了
<head>,它仍然做同样的事情,正如我所说,如果我在我的 PHP 文档中用纯文本写它,它会正确显示,只有当我从 MySQL 查询它不会! -
请查看mysqli_set_charset。在写入和读取数据时使用它
标签: php mysql database phpmyadmin