Home > Database > Mysql Tutorial > body text

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

Patricia Arquette
Release: 2024-10-30 18:05:03
Original
313 people have browsed it

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>
Copy after login

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>
Copy after login

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>
Copy after login

Advanced Methods for MySQL Older Versions

Set Connection Character Set

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

Use SET NAMES

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

Use mysql_set_charset() Function

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

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>
Copy after login

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!

source:php.cn
Statement of this Website
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
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!