尝试但不能写入或读取MySQL数据库的中文输入?

时间:2014-06-20 18:59:42

标签: php mysql sql database utf-8

我尝试过插入和读取我的MySQL数据库,但它似乎无法正常工作。这是我读过的内容,并尝试过:

其他SO帖子:

http://stackoverflow.com/questions/742205/mysql-alter-table-collation/5468980#5468980

http://stackoverflow.com/questions/5906585/change-database-collation

尝试将归类更改为utf-unicode-ci并将字符集设置为UTF-8,但没有工作

http://stackoverflow.com/questions/9401567/php-chinese-characters-cant-insert-to-mysql

这更适合插入,但阅读同样有问题。

以下是发生的事情的截图:

插入错误

http://i.stack.imgur.com/2ot0L.png

显示错误

http://i.stack.imgur.com/Bndz1.png

表格结构

http://i.stack.imgur.com/XO3K5.png

将中文写入数据库的代码片段(注册新用户):

registration.js

var postData = {
    full_name   :   $("#full-name").val(),
    email       :   $("#email").val(),
    password    :   $("#password").val(),
    username    :   $("#username").val()
};

$.ajax({
    type        :   'POST',
    url         :   '../php/register.php', 
    data        :   postData,
    dataType    :   'JSON',
    success     :   function(data) {
        if (data.result == -1)
            alert('Registration unsuccessful!');
        else if (data.result == 0) {                // redirect to page
            alert('Registration successful!');
            window.location = '../home.php';
        }
    }
});

为registration.php

$query = "  INSERT INTO `users`(`Username`, `Display_name`, `Password`, `Email`, `Date created`) 
            VALUES ('{$username}', '{$display_name}', '{$password}', '{$email}', '{$date}')";

if ( ($result = mysqli_query($link, $query)) == false ) 
    return -1;
else
    return 0;

从数据库中读取中文的代码(显示用户名):

的functions.php

$query = "SELECT display_name, followers FROM users ORDER BY followers DESC LIMIT 10";
$result = mysqli_query($link, $query);

while ($row = mysqli_fetch_array($result)) {
    $html = "<li>{$row['display_name']}<span id = 'popular-user-followers'>{$row['followers']}</span></li>";
    echo $html;
}

对于如何继续进行任何建议表示感谢,我还不完全熟悉数据库。谢谢!

0 个答案:

没有答案