>  기사  >  백엔드 개발  >  PHP와 MySQL에서 유니코드 문자열(예: 힌디어)을 처리하는 방법은 무엇입니까?

PHP와 MySQL에서 유니코드 문자열(예: 힌디어)을 처리하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-22 20:44:04108검색

How to Handle Unicode Strings (e.g., Hindi) in PHP and MySQL?

PHP와 MySQL을 사용하여 유니코드 문자열(๑ूะ) 저장 및 표시

웹 애플리케이션에서 힌디어와 같은 비라틴어 문자 세트를 저장하고 표시하는 것은 어려울 수 있지만 더 많은 청중을 지원하는 것이 필수적입니다. 다음은 PHP와 MySQL을 사용하여 이를 달성하는 방법에 대한 포괄적인 가이드입니다.

데이터베이스 매개변수 설정

  • 다음 명령을 실행하여 MySQL 데이터베이스에 올바른 문자 집합과 데이터 정렬이 있는지 확인하세요. :

    <code class="sql">SET character_set_database=utf8;
    SET collation_database=utf8_unicode_ci;</code>
  • 테이블 정의에서 유니코드 데이터를 저장하는 열을 CHARACTER SET utf8mb4 및 COLLATE utf8mb4_unicode_ci를 사용하여 VARCHAR로 지정합니다.

데이터 삽입 및 검색

  • 데이터를 삽입할 때 유니코드 문자열을 아무런 수정 없이 데이터베이스에 직접 입력하세요.
  • PHP에서 데이터를 검색하려면 가져오기 전에 다음 쿼리를 실행하세요.

    <code class="php">mysql_query("SET NAMES utf8");</code>
  • 유니코드 문자열을 표시하기 전에 utf8_encode()를 사용하여 UTF-8 형식으로 변환하세요.

PHP 스크립트 예

<code class="php"><?php
header('Content-Type: text/html; charset=utf-8');

// Database connection
include('connection.php');

// Execute query with UTF-8 encoding
mysql_query("SET NAMES utf8");
$result = mysql_query("SELECT * FROM `hindi`");

// Fetch and display results
while ($row = mysql_fetch_row($result)) {
    echo utf8_encode($row[0]);
}
?></code>

데이터베이스 덤프

데이터베이스 덤프는 다음과 유사해야 합니다.

<code class="sql">CREATE TABLE `hindi` (
  `data` VARCHAR(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL
);

INSERT INTO `hindi` VALUES ('सूर्योदय');</code>

문제 해결

  • HTML 헤드 섹션에 올바른 문자 집합이 포함되어 있는지 확인하세요.

    <code class="html"><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"></code>
  • 웹 서버가 유니코드 문자열을 처리하도록 올바르게 구성되었는지 확인하세요.
  • 문제가 지속되면 관련 문서를 참조하거나 StackOverflow와 같은 포럼에 도움을 요청하세요.

위 내용은 PHP와 MySQL에서 유니코드 문자열(예: 힌디어)을 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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