php & mysql Sonderzeichen/Umlaute eintragen
Geizhals » Forum » Programmierung » php & mysql Sonderzeichen/Umlaute eintragen (7 Beiträge, 271 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
php & mysql Sonderzeichen/Umlaute eintragen
04.12.2012, 22:48:56
Hallo,

es würde darum gehen, in einem Formular, wo Namen eingegeben und in Folge an eine mysql Datenbank übergeben werden, Namen mit Sonderzeichen richtig zu verarbeiten.
Also, dass ein O'Brien und ein Müller richtig übergeben werden.

Ich hab' mich umgesehen, ein Teil der Lösung scheint einmal zu sein, an folgender Stelle das charset des Fomulars im metatag auf utf8 umzustellen:
content="text/html; charset=ISO-8859-1"


Die Verbindung wird folgend aufgebaut (Passwörter usw. nur zum Veranschaulichen):
function connect(){
global $mysqli_connect;
$mysqli_connect = new MySQLi("localhost", "Kundendaten", "Lisi123", "kddb_3");
if ($mysqli_connect ->connect_error) {
echo "Murks mit DB 3 \n". htmlspecialchars($mysqli_connect->connect_error);
}
}

Im Formular wird sich der Name dann über
$vna_1 = $_POST["vna_1"];

geholt

und sollte dann mit

$mysqli_c1 = $mysqli_connect->prepare("INSERT INTO kdat (vn) VALUES (?)");
$mysqli_c1->bind_param("s", $vna_1);
$mysqli_c1->execute() or die ("Fehla
\n".$mysqli_c1->error);
$mysqli_c1->store_result();
$pid = $mysqli_c1->insert_id;
$mysqli_c1->close();


in die Datenbank übergeben werden.

So und nun die 11er - Frage, was muss ich noch zusätzlich tun, dass Zeichen wie €, ', ä, ß usw. richtig übergeben und eingetragen werden. Speziell in dem Apostroph (oder /) liegt ja der eine oder andere Hund begraben (der nicht am utf8 liegt) und ich weiß nicht ganz wie ich damit umgehen soll und ob der Name in einem Zwischenschritt nach der Post-Übergabe "bearbeitet" werden soll.
Abgesehen davon, die Datenbank selber läuft unter utf8_general_ci, insofern weiß ich nicht wie weit ein zusätzliches
$mysqli_c1 ->set_charset("utf8");

sinnvoll ist.

Danke :)


Antworten PM Alle Chronologisch
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung