Home >Database >Mysql Tutorial >How to Solve the Issue of Inserting Chinese Characters into MySQL?

How to Solve the Issue of Inserting Chinese Characters into MySQL?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-30 18:05:03400browse

How to Solve the Issue of Inserting Chinese Characters into MySQL?

Can't Insert Chinese Character into MySQL

When attempting to insert Chinese characters into a MySQL database, you may encounter difficulties due to character set encoding mismatches. To resolve this problem, follow these steps:

Create the Table with UTF-8 Encoding

When creating the database table, specify the character set as UTF-8:

<code class="sql">CREATE TABLE table_name (
    ...
) CHARACTER SET = utf8;</code>

Use UTF-8 for Table Fields

When inserting Chinese characters into a table, specify the field's character set as UTF-8:

<code class="sql">ALTER TABLE table_name
MODIFY COLUMN field_name VARCHAR(255) CHARACTER SET utf8;</code>

Use UTF-8 for Database and Table

<code class="sql">ALTER DATABASE dbname CHARACTER SET = utf8;

ALTER TABLE table_name
DEFAULT CHARACTER SET = utf8;</code>

Advanced Methods for MySQL Older Versions

Set Connection Character Set

<code class="sql">SET CHARACTER SET utf8;</code>

Use SET NAMES

<code class="sql">SET NAMES 'utf8';</code>

Use mysql_set_charset() Function

<code class="php">mysql_set_charset('utf8', $link);</code>

Read More

Related Articles:

  • [MySQL Character Sets and Collations](https://dev.mysql.com/doc/refman/8.0/en/charset-charsets.html)
  • [How To Solve UTF-8 Character Encoding Issue in MySQL Database](https://www.digitizor.com/articles/how-to-solve-utf-8-character-encoding-issue-in-mysql-database/)

Additional Resources:

  • [MySQL Character Encodings and Collations Documentation](https://www.mysql.com/support/documentation/1/character-sets-encodings.html)
  • [Stack Overflow Thread](https://stackoverflow.com/questions/15259744/how-to-allow-mysql-to-store-utf8-character-set-properly)
  • [PHP MySQL Tutorial](https://www.w3schools.com/php/php_mysql_intro.asp)

Detailed Code Sample

Here is a detailed code sample that demonstrates how to resolve the issue:

<code class="php"><?php

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Set connection character set to UTF-8
$conn->set_charset("utf8");

// Create database and table with UTF-8 encoding
$conn->query("CREATE DATABASE IF NOT EXISTS mydb CHARACTER SET utf8");
$conn->query("CREATE TABLE IF NOT EXISTS mydb.mytable (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) CHARACTER SET utf8)");

// Insert Chinese characters into the table
$sql = "INSERT INTO mydb.mytable (name) VALUES (?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param("s", $name);
$name = "你好";
$stmt->execute();

// Close connection
$stmt->close();
$conn->close();

?></code>

The above is the detailed content of How to Solve the Issue of Inserting Chinese Characters into MySQL?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn