Php UTF 8 issue


Php UTF 8 issue

我正在从数据库中读取特定字段,但我在设置正确的字符集时遇到问题,我仍然无法正确获得口音(, ã, ê,…),它显示为中文和问号字符。我的PHP代码有问题吗?谢谢。

PHP

<?php
    require 'functions.php';
    require 'config.php';
    $con = connect($config['DB_HOST'], $config['DB_USERNAME'], $config['DB_PASSWORD'],'data_db');
    mysql_query("SET NAMES 'utf8'") OR die(mysql_error());
    $sql_textIntro = "SELECT * FROM INTRO_TEXT";
    $results_textIntro = mysql_query( $sql_textIntro, $con);
?>
<标题> HTML
<h1>TITLE</h1>
    <?php
        $record = mysql_fetch_array($results_textIntro);
        echo "<p>".$record['TEXT_FIELD'].'</p>';
    ?>
</div> 

使用mysql_set_charset是更改连接(不是SQL查询)的charset的正确方法。

你可以这样做:

mysql_set_charset('utf8', $link); //Take note that it's utf8 and NOT utf-8 here

你也应该使用UTF-8格式的网页,并确保你的表格也使用UTF-8格式存储字符串。

注意,函数mysql_*在PHP 5.5.0中被弃用,并在PHP 7.0.0中被删除。相反,应该使用MySQLi或PDO_MySQL扩展名

尝试添加以下元素作为head标签中的第一个元素:<meta charset="utf-8">

这是一个非常好的,基本的,阅读乔尔·斯波尔斯基的字符集,如果你想了解发生了什么:)

必须在my.ini文件中字符集-server = utf8如果没有帮助,请参阅:

设置在HTML头编码?apache设置字符集为utf8吗?

相关文章: