Mysql
 sql >> база данни >  >> RDS >> Mysql

Не може да се вмъкне китайски символ в MySQL

Използвайте UTF-8 когато създавате таблица.

create table table_name () CHARACTER SET = utf8;

Използвайте UTF-8 когато вмъкнете в таблица

set username utf8; INSERT INTO table_name (ABC,VAL);

Прочетете повече

И още

Подробен код

Кодът по-долу е тестван код, моля, направете следното.

Ако вече сте създали база данни, моля, ПРОМЕНЯТЕ я, както е кодът по-долу. И ако не сте създали база данни, тогава я създайте и задайте Collation на utf8_unicode_ci

Същото и за таблицата, дефинирайте Collation като "utf8_unicode_ci" за полета на таблицата, в които искате да съхранявате chines знаци.

ALTER DATABASE `stackoverflow` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

CREATE TABLE `stackoverflow`.`chines`
(
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `words` VARCHAR( 200 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
) ENGINE = InnoDB;
<?php

    define('HOSTNAME', 'localhost');
    define('USERNAME', 'root');
    define('PASSWORD', '');
    define('DATABASE', 'stackoverflow');

    $dbLink = mysql_connect(HOSTNAME, USERNAME, PASSWORD)or die(mysql_error());
    mysql_query("SET character_set_results=utf8", $dbLink)or die(mysql_error());
    mb_language('uni'); 
    mb_internal_encoding('UTF-8');
    mysql_select_db(DATABASE, $dbLink)or die(mysql_error());
    mysql_query("set names 'utf8'",$dbLink)or die(mysql_error());

    if(isset($_POST['addWord']))
    {
        mysql_query("SET character_set_client=utf8", $dbLink)or die(mysql_error());
        mysql_query("SET character_set_connection=utf8", $dbLink)or die(mysql_error());

        $sql_query = "INSERT INTO chines(words) VALUES('".$_POST['words']."')";
        mysql_query($sql_query, $dbLink)or die(mysql_error());
    }

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
    <title></title>
</head>
<body>
    <?php
        mysql_query("SET character_set_results=utf8", $dbLink);
        $sql_query = "SELECT * FROM chines";
        $dbResult = mysql_query( $sql_query, $dbLink)or die(mysql_error());

    ?>

    <form action="" method="post">

        <p>Word : <input type="text" name="words" /></p>
        <p><input type="submit" name="addWord" /></p>

    </form>
    <?php
        while($row = mysql_fetch_assoc($dbResult))
        {
            echo $row['words']. '<br />';
        }
    ?>
</body>
</html>

Вижте резултата и визуализацията на стъпките, както е по-долу.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySql заявка Заменете NULL с празен низ в Select

  2. Използване на mysql concat() в клауза WHERE?

  3. Създаване на MySQL View с помощта на UNION

  4. КЪДЕТО всичко НЕ Е NULL

  5. Съхраняване на кодирани в base64 данни като тип данни BLOB или TEXT