MySQL到php charset问题

时间:2015-11-29 14:17:24

标签: php mysql utf-8

我认为这是常见的麻烦,所以,我有: 包含表的数据库模式,包含uts8的uts和VARCHARS - ut8_unicode_ci,以及:

<?php
$hostname = "localhost";
$username = "root";
$password = "";
$dbname = "jdmdb";
?>
<html>
<head> 
<meta http-equiv="Content-Tуpe" сontent="tехt/html; charset=utf-8" />
    <title>JDM Database</title>
</head>
<body>
<?
    mysql_query("SET NAMES utf8");
    $connection = mysql_connect($hostname, $username, $password) or     die("Не удаётся подключиться: </br>". mysql_error());
    mysql_select_db($dbname, $connection) or die("хуй: </br>".          mysql_error());

    $query = ('select * from cars where id="'.$_GET['c1'].'";');
    $result = mysql_query($query) or die(mysql_error());

    ?>
    <table border=1><tr>
    <?
        while ($result_row = mysql_fetch_row(($result))){
        echo '<td>'.$result_row[1].'</td><td>'.$result_row[2].'</td><td>'.$result_row[3].'</td><td>'.$result_row[4].'</td><td>'.$result_row[5].'</td><td>'.$result_row[6].'</td><td>'.$result_row[7].'</td><td>'.$result_row[8].'</td><td>'.$result_row[9].'</td><td>'.$result_row[10].'</td><td>'.$result_row[11].'</td><td>'.$result_row[12].'</td><td>'.$result_row[13].'</td><td>'.$result_row[14].'</td><td>'.$result_row[15].'</td><td>'.$result_row[16].'</td><td>'.$result_row[17].'</td>';
            echo '</tr>'; 
    }?>
    </table>
    <?
    mysql_close($connection);
    ?>
    </body>
</html>

以及我收到的内容:

enter image description here

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

有几种方法可以将字符设置为utf-8。

  1. 使用phpMyAdmin创建表格时,请选择utf8_unicode_ci

  2. 在您访问数据库时添加mysqli_query("SET NAMES 'UTF8′")

  3. 在html代码中设置utf-8:meta charset="utf-8"

  4. 检查浏览器和放大器中的字符编码。文本编辑器。

  5. 在MySQL中,更改my.cnf

  6. 中的设置

    我认为问题是my.cnf,这是关于如何更改它的教程。

    Change MySQL default character set to UTF-8 in my.cnf?

      

    要将默认值设置为UTF-8,您需要将以下内容添加到my.cnf

    [client]
    default-character-set=utf8
    
    [mysql]
    default-character-set=utf8
    
    
    [mysqld]
    collation-server = utf8_unicode_ci
    init-connect='SET NAMES utf8'
    character-set-server = utf8
    

    如果你正在使用像xampp,wamp等那样的东西

    阅读本文:How can I change my MySQL collation in WAMPSERVER

    my.ini

    中查找X:\wamp\bin\mysql\mysql5.5.24\my.ini

    (无论你使用什么,它都会在你的MySQL目录中。)

    于2018年/ NOV / 06更新

    在PHP7中,mysql已被删除。 就像@Rick James所说,对于数据库连接,最好使用mysqli或PDO。

    PHP manual - mysql_connect

      

    警告 - 此扩展在PHP 5.5.0中已弃用,并已在PHP 7.0.0中删除。

    mysqli or PDO - what are the pros and cons?