今天我遇到了一个小问题。问题归结为 MySql,UTF 。
我在我的数据库中插入了一个法语单词'éléphant'或任何其他法语单词。数据库有 utf8_general_ci 整理类型和表格集合也相同。
在获取记录时。
接收数据完全不同。
[uid] => 1
[user_name] => ashish
[lid] => 6
[list_name] => test
[Item ID] => 23
[Item Name] => éléphant
[description] => éléphant
[image] =>
[order] => 1
[created] => 2014-12-26 15:30:58
)
法语单词'éléphant'更改éléphant 。我没有使用任何与utf相关的功能。我只是像往常一样插入数据。我想完全一样。我为它做了什么。
答案 0 :(得分:0)
您的数据库编码看起来正确。
现在您需要检查PHP运行的编码。因此,在PHP页面上,您正在读取此数据,请添加以下行:
header ('Content-type: text/html; charset=utf-8');
修改强>
在您正在阅读数据的页面上,添加以下行:
<html>
<?php
header('Content-type: text/html; charset=utf-8');
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="Content-language" content="fr" />
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
</head>
<body>
<?php
// your code
?>
答案 1 :(得分:0)
检查响应标题中是否有Content-Type:text/html; charset=UTF-8
(我在屏幕截图中使用了Chrome开发者工具)
如果没有,请尝试将此行代码添加到HTML页面中:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
或在PHP文件中提供响应之前的这行代码:
<?php
header('Content-Type: text/html; charset=utf-8');
?>
答案 2 :(得分:0)
在php中添加以下行
标题('Content-type:text / html; charset = utf-8');