NoUse4aNick
Mitglied
Hallo zusammen,
Um das mal vorwegzunehmen: Ich habe den Thread einige Beiträge unter mir geleseen und habe trotzdme ein Problem.
Mein Problem ist folgendes: Sobald ich mein Formular include werden die Daten zwar richtig übertragen, sobald ich diese aber in die SQL datenbank reinspeisen möchte werden die Umlaute zerstört.
Alle dateien sind in UTF-8 Kodiert.
Die MySQL Datenbank ist UTF 8 Kodiert aber hier mal sicherheitshalber der Tabellen aufbau:
mein HTML header:
das Formular das eingebunden wird:
und zum schluss noch der PHP code der das ganze in die SQL Datenbank schleust:
Code habe ich ebenfalls ohne utf8_encode für die Variablen ausgeführt, funktioniert Trotzdem nicht.
Ich habe absichtlich die htmlentities umwandlung ausgelassen, da ich den Text so wie er kommt mit Tags und umlauten übernehmen muss.
Ich bedanke mich schonmal im voraus
liebe Grüße
NoUse4aNick
Um das mal vorwegzunehmen: Ich habe den Thread einige Beiträge unter mir geleseen und habe trotzdme ein Problem.
Mein Problem ist folgendes: Sobald ich mein Formular include werden die Daten zwar richtig übertragen, sobald ich diese aber in die SQL datenbank reinspeisen möchte werden die Umlaute zerstört.
Alle dateien sind in UTF-8 Kodiert.
Die MySQL Datenbank ist UTF 8 Kodiert aber hier mal sicherheitshalber der Tabellen aufbau:
Code:
CREATE TABLE IF NOT EXISTS `guestbook` (
`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
`Autor` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`Datum` datetime NOT NULL,
`Inhalt` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
mein HTML header:
HTML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
das Formular das eingebunden wird:
HTML:
<form action="index.php" method="POST" >
<fieldset>
<legend>Neuer Kommentar</legend>
<ol>
<li>
<label for="theName">Ihr name</label>
<input type="text" name="theName" id="theName" value="<?php if (isset($_POST["theName"])) echo htmlentities($_POST["theName"]); ?>"/>
</li>
<li>
<label for="theComment">Kommentar</label>
<textarea name="theComment" id ="theComment" ><?php if (isset($_POST["theName"])) echo htmlentities($_POST["theComment"]); ?></textarea>
</li>
</ol>
</fieldset>
<fieldset class="submit">
<input class="submit" type="submit" value="Abschicken" />
</fieldset>
</form>
und zum schluss noch der PHP code der das ganze in die SQL Datenbank schleust:
PHP:
if (isset($_POST['theComment']) && isset($_POST['theName'])){
if ($_POST['theComment'] != "" && $_POST['theName'] != "") {
$loadForms = false;
$sql = 'INSERT INTO Guestbook(Autor, Datum, Inhalt) VALUES (?, NOW(), ?)';
$stmt = $db->prepare($sql);
if (!$stmt) {
die ('Es konnte kein SQL-Query vorbereitet werden: '.$db->error);
}
$stmt->bind_param('ss', utf8_encode($_POST['theName']), utf8_encode($_POST['theComment']));
if (!$stmt->execute()) {
die ('Query konnte nicht ausgeführt werden: '.$stmt->error);
}
}
}
Code habe ich ebenfalls ohne utf8_encode für die Variablen ausgeführt, funktioniert Trotzdem nicht.
Ich habe absichtlich die htmlentities umwandlung ausgelassen, da ich den Text so wie er kommt mit Tags und umlauten übernehmen muss.
Ich bedanke mich schonmal im voraus
liebe Grüße
NoUse4aNick