php - UTF 8 编码在 PHP 中无法正常工作

标签 php html mysql utf8-decode

我正在尝试打印来自 MySql 数据库的数据。

我有一个简单的问题,它显示 D�lar 而不是 Dólar

虽然我已经包含了

<META http-equiv="Content-Type" Content="text/html; charset=utf-8">

在我的 html 页面中,任何人都可以帮助我解决这个问题

提前致谢

最佳答案

字符集需要在几个不同的地方定义:

MySQL数据库

存储在数据库中的文本可能未编码为 UTF-8。您可以将默认字符集定义为 create database 的一部分声明:

CREATE DATABASE mydb CHARACTER SET utf8;

您还可以使用 create table 指定每列字符集.

在您的 PHP 代码中

您需要告诉您的客户端代码在与数据库通信时应该使用哪种编码。

如果您使用PDO,您可以指定字符集as part of the DSN string :

$dsn = 'mysql:host=localhost;dbname=testdb;charset=utf8';
$dbh = new PDO($dsn, $username, $password);

如果您使用的是 MySQLi,您可以使用 mysqli_set_charset() 功能/方法:

$dbh->set_charset('utf8');

或:

mysqli_set_charset($dbh, 'utf8');

或者,MySQL 网站建议 issuing a statement连接到服务器后:

SET NAMES 'utf8';

在 HTML 输出中

对于 HTML5,您可以简单地添加以下 <meta> <head> 内的标签输出元素:

<meta charset="utf-8">

关于php - UTF 8 编码在 PHP 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28738276/

相关文章:

php - 添加更多(组)字段以通过 jQuery 形成

php - Yii : Getting id after createCommand execute query

mysql - 如何更改我的子选择,我可以使用 WHERE IN 获取多行?

Java - 模式匹配

php - 数据库显示希伯来语,但在 php 中希伯来语数据显示为问号

html - 部分/Div 的重叠

javascript - Bootstrap-Datepicker 图标点击事件不起作用

html - 本地主机和服务器上的 Chrome 差异

php - 对另一列过滤后的列求和

javascript - 使用 php 在 html 表中显示 mysql 行内容