>  기사  >  백엔드 개발  >  데이터베이스의 PHP 중국어 정보에 저장된 잘못된 문자에 대한 이유와 해결 방법

데이터베이스의 PHP 중국어 정보에 저장된 잘못된 문자에 대한 이유와 해결 방법

王林
王林원래의
2024-03-25 10:00:051219검색

데이터베이스의 PHP 중국어 정보에 저장된 잘못된 문자에 대한 이유와 해결 방법

제목: PHP 데이터베이스에 중국어 정보가 왜곡되어 있는 이유와 해결책

PHP를 사용하여 웹사이트를 개발하는 과정에서 중국어 정보가 데이터베이스에 왜곡되어 저장되는 문제를 자주 접하게 됩니다. 이 문제는 데이터베이스 인코딩 설정, PHP 인코딩 설정, 페이지 인코딩 설정 등 다양한 요인으로 인해 발생합니다. 본 글에서는 PHP 중국어 정보가 왜곡된 데이터베이스에 저장되는 이유를 자세히 소개하고, 해결책을 제시하며, 구체적인 코드 예시를 첨부해보겠습니다.

1. 문자 깨짐 원인 분석

  1. 잘못된 데이터베이스 인코딩 설정: 데이터베이스의 테이블 인코딩 설정이 올바르지 않아 중국어 정보를 저장할 때 문자가 깨집니다.
  2. 일관되지 않은 PHP 인코딩 설정: PHP 파일 및 데이터베이스의 인코딩 설정이 일관되지 않아 전송 중에 중국어 정보가 왜곡됩니다.
  3. 페이지 인코딩 설정 오류: 웹페이지의 인코딩 설정이 데이터베이스의 인코딩 설정과 일치하지 않으며, 웹페이지에 표시될 때 중국어 정보가 깨져서 나타납니다.

2. 왜곡된 코드 처리 계획

1. 데이터베이스 인코딩 설정

우선 데이터베이스의 테이블 인코딩 설정이 데이터의 인코딩 형식과 일치하는지 확인하세요. 테이블의 인코딩 형식은 다음 SQL 문을 통해 UTF-8로 수정할 수 있습니다:

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

2. PHP 인코딩 설정

PHP 파일에서 전송 중에 데이터가 왜곡되지 않도록 인코딩 형식을 설정합니다. PHP 파일 시작 부분에 다음 코드를 추가할 수 있습니다:

header('Content-Type: text/html; charset=utf-8');

3. 페이지 인코딩 설정

웹 페이지 헤드에 다음 메타 태그를 추가하여 페이지의 인코딩 형식을 UTF-8로 지정합니다.

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

3. 코드 예

다음은 데이터베이스에 중국어 정보를 올바르게 저장하는 방법을 보여주는 간단한 PHP 코드 예입니다.

<?php
// 连接数据库
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test_db";

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

// 设置字符编码
$conn->set_charset("utf8");

// 处理中文信息
$name = "张三";
$age = 25;

// 插入数据
$sql = "INSERT INTO users (name, age) VALUES ('$name', $age)";
if ($conn->query($sql) === TRUE) {
    echo "新记录插入成功";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

데이터베이스, PHP 파일 및 웹 페이지의 인코딩 형식을 올바르게 설정하면 효과적으로 다음을 수행할 수 있습니다. 중국어 정보가 데이터베이스에 저장될 때 문자가 깨지는 문제를 피하십시오. 위 내용이 도움이 되었기를 바랍니다!

위 내용은 데이터베이스의 PHP 중국어 정보에 저장된 잘못된 문자에 대한 이유와 해결 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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