sql >> Database >  >> RDS >> Mysql

Kan geen Chinees karakter invoegen in MySQL

Gebruik UTF-8 wanneer u een tabel maakt.

create table table_name () CHARACTER SET = utf8;

Gebruik UTF-8 wanneer u invoegt in tabel

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

Lees meer

En meer

Gedetailleerde code

Onderstaande code is geteste code, doe het volgende.

Als je al een database hebt gemaakt, WIJZIG deze dan zoals hieronder in de code. En als je geen database hebt gemaakt, maak deze dan aan en stel Collation in op utf8_unicode_ci

En hetzelfde voor tabel definieert Collation als "utf8_unicode_ci" voor tabelvelden waarin u chines-tekens wilt opslaan.

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>

Bekijk het resultaat en stap visueel zoals hieronder.



  1. Hoe u de laatste dag van de maand in Oracle kunt krijgen

  2. Wat betekent Importfout:Symbool niet gevonden:_PQencryptPasswordConn en hoe los ik dit op?

  3. Splits varchar in afzonderlijke kolommen in Oracle

  4. WHERE-component kan beter worden uitgevoerd voor IN en JOIN of erna