Heim > Backend-Entwicklung > PHP-Tutorial > Umgang mit mehrsprachigen Eingaben in PHP-Formularen

Umgang mit mehrsprachigen Eingaben in PHP-Formularen

WBOY
Freigeben: 2023-08-10 21:02:02
Original
1353 Leute haben es durchsucht

Umgang mit mehrsprachigen Eingaben in PHP-Formularen

So gehen Sie mit mehrsprachigen Eingaben in PHP-Formularen um

Mit der Entwicklung der Globalisierung ist die mehrsprachige Unterstützung für Websites zu einem unverzichtbaren Feature geworden. Bei der PHP-Entwicklung ist der Umgang mit mehrsprachigen Eingaben, damit Benutzer Daten in verschiedenen Sprachen in das Formular eingeben und die Daten korrekt speichern und anzeigen können, ein wichtiges Problem, das Entwickler lösen müssen.

In diesem Artikel wird die Verwendung von PHP zur Verarbeitung mehrsprachiger Eingaben vorgestellt und entsprechende Codebeispiele gegeben.

1. Legen Sie die Spracheinstellungen der Website fest.
Im PHP-Code können wir die Funktion setlocale verwenden, um die Spracheinstellungen der Website festzulegen. Die Syntax dieser Funktion lautet wie folgt:

setlocale(int $category, string $locale)
Nach dem Login kopieren

wobei $category die festzulegende Sprachkategorie angibt. Zu den häufig verwendeten Kategorien gehören LC_ALL, LC_COLLATE, LC_CTYPE, LC_MONETARY, LC_NUMERIC und LC_TIME usw. $locale gibt bestimmte Spracheinstellungen an, z. B. „en_US.UTF-8“, was die Verwendung von amerikanischem Englisch angibt.

2. Erstellen Sie ein mehrsprachiges Eingabeformular
Im HTML-Code können wir das Select-Element verwenden, um ein mehrsprachiges Eingabeformular zu erstellen. Das Codebeispiel lautet wie folgt:

<select name="language">
  <option value="en">English</option>
  <option value="zh-CN">简体中文</option>
  <option value="zh-TW">繁体中文</option>
</select>
Nach dem Login kopieren

Benutzer können Daten in verschiedenen Sprachen eingeben, indem sie verschiedene Optionen auswählen.

3. Verarbeiten Sie die vom Benutzer eingegebenen Sprachdaten.
Auf der Serverseite können wir die vom Benutzer eingegebenen Sprachdaten über die Variable $_POST oder $_GET abrufen. Das Codebeispiel lautet wie folgt:

$language = $_POST['language'];
Nach dem Login kopieren

Je nach der vom Benutzer ausgewählten Sprache können wir eine entsprechende Verarbeitung durchführen. Wenn der Benutzer beispielsweise Englisch auswählt, können wir die Sprache auf „en_US“ festlegen. Wenn der Benutzer vereinfachtes Chinesisch auswählt, können wir die Sprache auf „zh_CN“ festlegen.

4. Mehrsprachige Daten speichern und anzeigen
In der Datenbank können wir UTF-8-Kodierung verwenden, um mehrsprachige Daten zu speichern. In der MySQL-Datenbank können wir den Zeichensatz utf8mb4 und die Sortierung utf8mb4_unicode_ci verwenden, um das Speichern mehrsprachiger Daten zu unterstützen. Ein Beispiel für eine SQL-Anweisung zum Erstellen einer Tabelle lautet wie folgt:

CREATE TABLE `messages` (
  `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Nach dem Login kopieren

Im PHP-Code können wir die Erweiterung mysqli oder PDO verwenden, um eine Verbindung zur Datenbank herzustellen und Vorgänge zum Speichern mehrsprachiger Daten auszuführen. Das Codebeispiel lautet wie folgt:

$mysqli = new mysqli("localhost", "username", "password", "database");

$content = $_POST['content'];
$language = $_POST['language'];

$mysqli->set_charset("utf8mb4");
$content = $mysqli->real_escape_string($content);

$sql = "INSERT INTO messages (content, language) VALUES ('{$content}', '{$language}')";
$mysqli->query($sql);
Nach dem Login kopieren

Bei der Anzeige mehrsprachiger Daten können wir die in der Datenbank gespeicherten Daten korrekt anzeigen, indem wir entsprechende Spracheinstellungen festlegen. Das Codebeispiel lautet wie folgt:

setlocale(LC_ALL, "en_US.UTF-8");

$sql = "SELECT content, language FROM messages";
$result = $mysqli->query($sql);

while ($row = $result->fetch_assoc()) {
  if ($row['language'] == 'en') {
    setlocale(LC_ALL, "en_US.UTF-8");
  } elseif ($row['language'] == 'zh-CN') {
    setlocale(LC_ALL, "zh_CN.UTF-8");
  } elseif ($row['language'] == 'zh-TW') {
    setlocale(LC_ALL, "zh_TW.UTF-8");
  }

  echo strftime("%Y-%m-%d %H:%M:%S", strtotime($row['content']));
}
Nach dem Login kopieren

Durch die obigen Schritte können wir die Verarbeitung mehrsprachiger Eingaben in PHP-Formularen realisieren. Entwickler können entsprechende Modifikationen und Anpassungen in bestimmten Projekten basierend auf den tatsächlichen Bedürfnissen vornehmen. Ich hoffe, dieser Artikel kann Ihnen hilfreich sein!

Das obige ist der detaillierte Inhalt vonUmgang mit mehrsprachigen Eingaben in PHP-Formularen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage