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

Barbara Streisand
Freigeben: 2024-10-22 20:44:04
Original
103 Leute haben es durchsucht

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>
    Nach dem Login kopieren
  • 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>
    Nach dem Login kopieren
  • 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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
    Nach dem Login kopieren
  • 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!

Quelle:php
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!