>  기사  >  데이터 베이스  >  MySQL에 한자를 삽입하는 문제를 해결하는 방법은 무엇입니까?

MySQL에 한자를 삽입하는 문제를 해결하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-30 18:05:03314검색

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

MySQL에 한자를 삽입할 수 없습니다

MySQL 데이터베이스에 한자를 삽입하려고 할 때 문자 세트 인코딩 불일치로 인해 어려움을 겪을 수 있습니다. 이 문제를 해결하려면 다음 단계를 따르십시오.

UTF-8 인코딩으로 테이블 생성

데이터베이스 테이블을 생성할 때 문자 집합을 UTF-8로 지정하세요.

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

테이블 필드에 UTF-8 사용

테이블에 중국어 문자를 삽입할 때 필드의 문자 집합을 UTF-8로 지정하세요.

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

데이터베이스에 UTF-8을 사용하고 테이블

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

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

MySQL 이전 버전의 고급 방법

연결 문자 집합 설정

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

SET NAMES 사용

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

mysql_set_charset( ) 기능

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

자세히 보기

관련 기사:

  • [MySQL 문자 집합 및 데이터 정렬](https://dev .mysql.com/doc/refman/8.0/en/charset-charsets.html)
  • [MySQL 데이터베이스의 UTF-8 문자 인코딩 문제를 해결하는 방법](https://www.digitizor.com/ 기사/how-to-solve-utf-8-character-encoding-issue-in-mysql-database/)

추가 자료:

  • [MySQL 문자 인코딩 및 데이터 정렬 문서](https://www.mysql.com/support/documentation/1/character-sets-encodings.html)
  • [스택 오버플로 스레드](https:/ /stackoverflow.com/questions/15259744/how-to-allow-mysql-to-store-utf8-character-set-properly)
  • [PHP MySQL 튜토리얼](https://www.w3schools.com /php/php_mysql_intro.asp)

자세한 코드 샘플

다음은 문제 해결 방법을 보여주는 자세한 코드 샘플입니다.

<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>

위 내용은 MySQL에 한자를 삽입하는 문제를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.