Speichern und Anzeigen von Unicode-Zeichenfolgen (हिन्दी) mit PHP und MySQL
Problem:
Der Benutzer hat Schwierigkeiten beim Speichern und Anzeigen von Hindi Text in einer MySQL-Datenbank mit PHP. Der Text erscheint als „???????“ beim Abrufen und Echo mit utf8_encode().
Lösung:
Um das Problem zu beheben, müssen die folgenden Schritte unternommen werden:
-
Datenbankkodierung festlegen: Stellen Sie sicher, dass sowohl die Datenbankkodierung als auch die Sortierung auf UTF-8 eingestellt sind. Dies erfolgt durch Ausführen der Abfrage „SET NAMES utf8“ vor allen Datenbankoperationen.
-
Zeichensatz in der Datenbank angeben: Geben Sie beim Erstellen der Tabelle und des Felds, in denen der Hindi-Text gespeichert wird, an Zeichensatz als UTF-8.
-
Seitenkodierung festlegen: Fügen Sie im HTML-Kopfbereich Ihrer PHP-Seite eine hinzu Meta-Tag, um die Seitenkodierung auf UTF-8 festzulegen:
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
Nach dem Login kopieren
-
Inhaltstyp-Header festlegen: Alternativ können Sie den Inhaltstyp in Ihrem PHP-Skript festlegen unter Verwendung von:
header('Content-Type: text/html; charset=utf-8');
Nach dem Login kopieren
-
Beispiel-PHP-Skript: Das folgende PHP-Skript demonstriert den Prozess:
<?php
include("connection.php"); // Include database connection
mysql_query("SET NAMES utf8"); // Set database character set
$result = mysql_query("select * from hindi"); // Fetch data from the database
while ($myrow = mysql_fetch_row($result)) {
echo ($myrow[0]); // Echo the Hindi text
}
?>
Nach dem Login kopieren
-
Datenbanktabelle: Die Datenbanktabellenstruktur sollte wie folgt aussehen:
CREATE TABLE `hindi` (
`data` varchar(1000) character set utf8 collate utf8_bin default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Nach dem Login kopieren
Zusätzliche Hinweise:
- Der Benutzer fragte auch nach einem möglichen Skript zur Konvertierung von Hindi Text in HTML-Entitäten. In der bereitgestellten Lösung gibt es jedoch kein solches Skript.
- Der Benutzer erkundigte sich, wie das PHP-Skript funktionierte, ohne die „META“- oder Header-Informationen anzugeben. Die bereitgestellte Lösung besteht jedoch darin, den Zeichensatz sowohl im PHP-Skript als auch im HTML-Kopfbereich festzulegen, was für die korrekte Anzeige von Hindi-Text unerlässlich ist.
Das obige ist der detaillierte Inhalt vonWie speichert und zeigt man Hindi-Text mit PHP und MySQL richtig an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!