Mysql在特殊字符时返回类型

时间:2014-12-26 10:37:25

标签: php mysql utf

今天我遇到了一个小问题。问题归结为 MySql,UTF

我在我的数据库中插入了一个法语单词'éléphant'或任何其他法语单词。数据库有 utf8_general_ci 整理类型和​​表格集合也相同。

database_image_for_french_word_elephant

在获取记录时。

接收数据完全不同。

        [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相关的功能。我只是像往常一样插入数据。我想完全一样。我为它做了什么。

3 个答案:

答案 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

enter image description here

(我在屏幕截图中使用了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');