Heim  >  Artikel  >  Backend-Entwicklung  >  Wie gehe ich mit Unicode-Strings (z. B. Hindi) in PHP und MySQL um?

Wie gehe ich mit Unicode-Strings (z. B. Hindi) in PHP und MySQL um?

Barbara Streisand
Barbara StreisandOriginal
2024-10-22 20:44:04104Durchsuche

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

Speichern und Anzeigen von Unicode-Zeichenfolgen (हिन्दी) mit PHP und MySQL

Das Speichern und Anzeigen nicht-lateinischer Zeichensätze wie Hindi in einer Webanwendung kann eine Herausforderung sein, aber es ist eine Herausforderung ist wichtig, um ein breiteres Publikum zu unterstützen. Hier ist eine umfassende Anleitung, wie Sie dies mit PHP und MySQL erreichen:

Datenbankparameter festlegen

  • Stellen Sie sicher, dass Ihre MySQL-Datenbank über einen korrekten Zeichensatz und eine korrekte Sortierung verfügt, indem Sie diese Befehle ausführen :

    <code class="sql">SET character_set_database=utf8;
    SET collation_database=utf8_unicode_ci;</code>
  • Geben Sie in der Tabellendefinition die Spalte zum Speichern von Unicode-Daten als VARCHAR mit CHARACTER SET utf8mb4 und COLLATE utf8mb4_unicode_ci an.

Dateneinfügung und -abruf

  • Geben Sie beim Einfügen von Daten die Unicode-Zeichenfolge ohne Änderungen direkt in die Datenbank ein.
  • Um die Daten in PHP abzurufen, führen Sie vor dem Abrufen die folgende Abfrage aus:

    <code class="php">mysql_query("SET NAMES utf8");</code>
  • Verwenden Sie utf8_encode(), um die Unicode-Zeichenfolge vor der Anzeige in das UTF-8-Format zu konvertieren.

PHP-Skriptbeispiel

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

Datenbank-Dump

Der Datenbank-Dump sollte wie folgt aussehen:

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

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

Fehlerbehebung

  • Stellen Sie sicher, dass der HTML-Kopfabschnitt den richtigen Zeichensatz enthält:

    <code class="html"><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"></code>
  • Stellen Sie sicher, dass der Webserver ordnungsgemäß für die Verarbeitung von Unicode-Zeichenfolgen konfiguriert ist.
  • Wenn die Probleme weiterhin bestehen, konsultieren Sie die entsprechende Dokumentation oder suchen Sie Hilfe in Foren wie StackOverflow.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit Unicode-Strings (z. B. Hindi) in PHP und MySQL um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn