PHP:不可读的输出字符
我正在使用PHP处理一个页面,但是在检索数据库时存储在数据库中的数据(文本)显示了无法读取的字符,正如您从我的在线实例中看到的那样 我为该页面编写的PHP代码是:PHP:不可读的输出字符,php,mysql,pdo,character-encoding,Php,Mysql,Pdo,Character Encoding,我正在使用PHP处理一个页面,但是在检索数据库时存储在数据库中的数据(文本)显示了无法读取的字符,正如您从我的在线实例中看到的那样 我为该页面编写的PHP代码是: <?php require_once "pdo.php"; try { $sql = "SELECT * FROM `content` ORDER BY `updated` DESC LIMIT 1"; $result = $pdo->query($sql); $result = $result
<?php
require_once "pdo.php";
try {
$sql = "SELECT * FROM `content` ORDER BY `updated` DESC LIMIT 1";
$result = $pdo->query($sql);
$result = $result->fetchAll(PDO::FETCH_ASSOC);
} catch(PDOException $e) {
die("Error: ".$e->getMessage());
}
header("Content-Type: text/html; charset=utf-8");
?>
<!DOCTYPE html>
<html lang="ps">
<head>
<meta charset="utf-8">
<title>تعليم الاسلام راډيو</title>
</head>
<body>
<?=var_dump($result)?>
</body>
</html>
تعليم الاسلام راډيو
示例:元标记应该是
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
如果你的“不可读字符”是
تعليم الاسلام راډيو
然后你有一个典型的
- 客户端中的字节正确编码为utf8。撇号。)
- 您可能默认使用
(或集合名称拉丁1
或…)进行连接。(应该是集合字符集(“拉丁1”)
)utf8
- 表中的列已声明为
。(或者可能是从表/数据库继承的。)(应该是字符集latin1
)utf8
其中长度足够大,而另一个“…”具有任何其他内容(
不为NULL
,等等)已在列中。我无法区分可读字符和不可读字符。@chip no它与来自同一数据库和同一表的其他页面工作良好,例如:我认为是字符集的问题,或者可能是其他问题。在phpMyAdmin中,将此表的排序规则更改为Persian@Aviz没有波斯语,但它是固定的要使用utf8\u unicode\u ci,必须有一个与波斯语匹配的排序规则选项
تعليم الاسلام راډيو
ALTER TABLE Tbl MODIFY COLUMN col VARBINARY(...) ...;
ALTER TABLE Tbl MODIFY COLUMN col VARCHAR(...) ... CHARACTER SET utf8 ...;