Es wurde ein Dutzend Mal gefragt, ich weiß, aber das einzige, was ich will, ist einen deutschen Buchstaben wie 'Ä' in eine Datenbank mit einem PHP-Skript einfügen funktioniert einfach nicht mit den vorhandenen Lösungen.Wie man ö/ä/ü in Datenbank mit php utf8 einfügt
<?php
header('Content-type: text/html; charset=utf-8');
$con = mysqli_connect("localhost", "username", "password");
mysqli_set_charset($con, "utf8mb4");
mysqli_select_db($con, "database");
mysqli_query($con, "SET SESSION CHARACTER_SET_RESULTS =utf8mb4;");
mysqli_query($con, "SET SESSION CHARACTER_SET_CLIENT =utf8mb4;");
mysqli_query($con, "SET NAMES 'utf8mb4';");
mysqli_query($con,
"SET character_set_results = 'utf8',
character_set_client = 'utf8',
character_set_connection = 'utf8',
character_set_database = 'utf8',
character_set_server = 'utf8';");
$title = 'Ö';
$result = mysqli_query($con,
"INSERT INTO Test (Title)
VALUES ('" . utf8_encode($title) . "');");
#Doesn't work, this was inserted: Ã
?>
Die charset der Spalte ‚Titel‘ eingestellt ist und die Tabelle selbst seine utf8_general_ci utf8mb4_general_ci. MySQL Server Version ist 5.5.31 MySQL Charset ist UTF-8 Unicode
Weiß jemand, was ich falsch mache oder fehle ich hier etwas?
'mysqli_query ($ con," SET SESSION CHARACTER_SET_RESULTS = latin1; "); mysqli_query ($ con, "SET SESSION CHARACTER_SET_CLIENT = latin1;"); 'Sollte utf8mb4 und nicht latin1 sein. –
Stellen Sie sicher, dass die Quelle Ihrer Daten UTF8 sendet. Wenn Sie nicht angeben, Ihre Webseite ist UTF8, könnte es in so etwas wie Windows-1252 senden – Machavity
überprüfen Sie phpMyAdmin Ihre Tabelleneinstellungen, wahrscheinlich müssen Sie Zeichensatz für die Tabelle – Alex