Haumis wbb hilfe 
Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite
Galerie Datenbank Zum Portal

Startseite| Das Board| wbb2| wbblite| Wo finde ich was| Veränderungen| Grafik-Bereich-WBB2| Boardspiele| Vorstellungen| Allgemeines| Trainingscenter|
Haumis wbb hilfe » ...:::Trainingscenter-wbb2:::... » mysql » Das heitere Umlauteproblem... » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Das heitere Umlauteproblem...
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Hangasilly Hangasilly ist männlich

[meine Galerie]


Dabei seit: 29.06.2012
Beiträge: 221
Herkunft: NRW
Postid: 17259
Das heitere Umlauteproblem... Beitrag Nr.: 1     Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich verzweifel grad mal wieder....

Folgendes Szenario:

Serversprache: UTF-8
Tabellenkollation: UFT-8
Spaltenkollation: UFT-8
PHP-Datei-Charset: UTF8

Eintrag in DB: Lustige Zeichen bei Umlaufen *seufz*

Frage: Was hab ich übersehen...

Selbst ne Umgehung klappt nicht so, wie ichs mir vorstelle:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
//Überschrift und Text
$subject = "Herzlichen Glückwunsch zum Gebutrstag";
$body = "Wir wollten dir zum Geburtstag ein kleines Präsent überreichen und hoffen,$Bdass es dir bei uns gefällt!!$B$BWir wünschen dir alles Gute und freuen uns auf weitere geminsame Spielstunden mit Dir!";

//Mail INSERT      //10 Gold -- Geschenk
$mail_insert="INSERT INTO corelith_characters.mail SET 
id = '$id_plus1', 
messageType = '0', 
stationery = '61', 
mailTemplateId = '0', 
sender = '69',
receiver = '$reciver', 
subject = '$subject', 
body = '$body', 
has_items = '1', 
expire_time = '$timestamp_delete', 
deliver_time = '$timestamp_deliver', 
money = '100000',  
cod = '0', 
checked = '$checked' ";
$send_in = mysqli_query($db_chars, $mail_insert);
		  
$do_utf8="UPDATE `corelith_characters.mail` SET 
              `subject` = REPLACE(`subject`,"ß", "ß"), 
              `subject` = REPLACE(`subject`, "ä", "ä"), 
              `subject` = REPLACE(`subject`, "ü", "ü"), 
              `subject` = REPLACE(`subject`, "ö", "ö"), 
              `subject` = REPLACE(`subject`, "Ä", "Ä"), 
              `subject` = REPLACE(`subject`, "Ãœ", "Ü"), 
              `subject` = REPLACE(`subject`, "Ö", "Ö"), 
              `subject` = REPLACE(`subject`, "€", "€"),
              
              `body` = REPLACE(`body`,"ß", "ß"), 
              `body` = REPLACE(`body`, "ä", "ä"), 
              `body` = REPLACE(`body`, "ü", "ü"), 
              `body` = REPLACE(`body`, "ö", "ö"), 
              `body` = REPLACE(`body`, "Ä", "Ä"), 
              `body` = REPLACE(`body`, "Ãœ", "Ü"), 
              `body` = REPLACE(`body`, "Ö", "Ö"), 
              `body` = REPLACE(`body`, "€", "€")
			  
WHERE id LIKE '$id_plus1'";
			  
$utf8_in = mysqli_query($db_chars, $do_utf8);




In die DB hauts mir ständig lustigen Zeichen anstatt die Umlaute....
Übrigens funktionieren htmlspecialchars und htmlentities bei den Srings leider auch nicht und auch mysqli_set_charset($db_chars, "utf8"); direkt nach der DB klappt nicht *seufz*

__________________

08.02.2021 14:18 Hangasilly ist offline E-Mail an Hangasilly senden Homepage von Hangasilly Beiträge von Hangasilly suchenNehmen Sie Hangasilly in Ihre Freundesliste auf
haumi haumi ist männlich
Boardbetreiber

images/avatars/avatar-214.jpg
[meine Galerie]


Dabei seit: 06.06.2009
Beiträge: 3.441
Herkunft: NRW
Postid: 17260
Beitrag Nr.: 2     Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich schau mir das heute früh ma an.
Bei schriegigen Fällen nehme ich die pdo-Verbindung zur Datenbank.
Da werden die Umlaute automatisch korrekt übertragen.
Vielleicht schaust du dir das mal an.

LG

__________________
Gelassen das hinnehmen, was nicht zu ändern ist,
engagiert angehen was man gestalten kann.

09.02.2021 05:00 haumi ist offline E-Mail an haumi senden Homepage von haumi Beiträge von haumi suchenNehmen Sie haumi in Ihre Freundesliste auf
haumi haumi ist männlich
Boardbetreiber

images/avatars/avatar-214.jpg
[meine Galerie]


Dabei seit: 06.06.2009
Beiträge: 3.441
Herkunft: NRW
Postid: 17261
Beitrag Nr.: 3     Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Versuche das folgende mal bei dir anzupassen:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
//Neuer Eintrag übernehmen
if ($_POST["neue"]=="neue") {
$betreff = $_POST["betreff"];
$notiz = $_POST["notiz"];

$statement = $pdo->prepare("INSERT INTO notizen (betreff,notiz) VALUES (?,?)");
$statement->execute(array($betreff,$notiz));
$num =$statement->rowCount();
    echo "Es wurde " .$num ." Datensatz hinzugefügt";
    echo '<meta http-equiv="refresh" content="2; url= notizen.php">';
}


Bei mir gibt es seit dem keine Probleme mehr mit den Umlauten.
Die replace-Anweisungen kannst du denn (hoffntlich) weglassen.

Ich habe in der class_db_mysql über ? noch folgendes eingefügt:
code:
1:
$pdo = new PDO('mysql:host=localhost;dbname='.$sqldb,$sqluser,$sqlpassword); 



LG
haumi

__________________
Gelassen das hinnehmen, was nicht zu ändern ist,
engagiert angehen was man gestalten kann.

09.02.2021 14:31 haumi ist offline E-Mail an haumi senden Homepage von haumi Beiträge von haumi suchenNehmen Sie haumi in Ihre Freundesliste auf
Hangasilly Hangasilly ist männlich

[meine Galerie]


Dabei seit: 29.06.2012
Beiträge: 221
Herkunft: NRW
Postid: 17262
Themenstarter Thema begonnen von Hangasilly
Beitrag Nr.: 4     Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

ähmmm danke, aber janein, das ganze is en bisschen komplexer...:

pdo geht schonmal bei dem gameserver nicht, weil die core dann ärger macht.. kp warum...
also normaler connect, und dann der insert is auch bissel größer:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
//Datenbank_CHARS
$db_chars = mysqli_connect("localhost", "blubber", "blahhhhh", "corelith_characters");

//id aus characters.mail
$id_out = "SELECT * FROM corelith_characters.mail";
$result_id = mysqli_query($db_chars, $id_out);
while ($ds = mysqli_fetch_object($result_id)) {
    $res_id = $ds->id;
}

$id_plus1 = $res_id + 1;

//Überschrift und Text
//String-Encoding UTF8
$subject = "Herzlichen Glückwunsch zum Geburtstag";
$body = "Wir wollten dir ein kleines Zufalls-Geburtstagspräsent zukommen lassen, nebst ein bisschen Geld, und hoffen, dass es dir bei uns gefällt!!\r\n\nAlles Gute zum Geburtstag!!\r\n\nWir freuen uns auf eine noch lange, geminsame Spielzeit mit Dir!\r\n\n\nDein Corelith-Team";

//Mail INSERT   
$mail_insert="INSERT INTO corelith_characters.mail SET 
id = '$id_plus1', 
messageType = '0', 
stationery = '61', 
mailTemplateId = '0', 
sender = '69',
receiver = '$reciver', 
subject = '$subject', 
body = '$body', 
has_items = '1', 
expire_time = '$timestamp_delete', 
deliver_time = '$timestamp_deliver', 
money = '100000',  
cod = '0', 
checked = '$checked' ";
$send_in = mysqli_query($db_chars, $mail_insert);




hab das derzeit umgeschrieben, damits ohne ü's und Co eght... aber würd mcih trotzdem interessieren, wie ich Umlaute in die DBs bekomme...

__________________

09.02.2021 20:48 Hangasilly ist offline E-Mail an Hangasilly senden Homepage von Hangasilly Beiträge von Hangasilly suchenNehmen Sie Hangasilly in Ihre Freundesliste auf
haumi haumi ist männlich
Boardbetreiber

images/avatars/avatar-214.jpg
[meine Galerie]


Dabei seit: 06.06.2009
Beiträge: 3.441
Herkunft: NRW
Postid: 17263
Beitrag Nr.: 5     Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Versuche das bitte mal.
Statt:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
$mail_insert="INSERT INTO corelith_characters.mail SET 
id = '$id_plus1', 
messageType = '0', 
stationery = '61', 
mailTemplateId = '0', 
sender = '69',
receiver = '$reciver', 
subject = '$subject', 
body = '$body', 
has_items = '1', 
expire_time = '$timestamp_delete', 
deliver_time = '$timestamp_deliver', 
money = '100000',  
cod = '0', 
checked = '$checked' ";
$send_in = mysqli_query($db_chars, $mail_insert);




nimm mal:

code:
1:
2:
$statement = $pdo->prepare("INSERT INTO corelith_characters.mail (id,messageType,stationery,mailTemplateId,sender,receiver.subject,body,has_items,expire_time,deliver_time, money,cod.checked) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
$statement->execute(array($id_plus1,0,61,0,69,$reciver,$subject,$body,1,$timestamp_delete,$timestamp_deliver,100000,0,$checked));



und in der class_db_mysql.php ersaetze:
code:
1:
 	  $pdo = new PDO('mysql:host=localhost;dbname='.$sqldb,$sqluser,$sqlpassword); 


durch:
code:
1:
2:
3:
4:
5:
6:
7:
$pdo = new PDO(
'mysql:host=localhost;dbname='.$sqldb,
$sqluser,
$sqlpassword,
[PDO::MYSQL_ATTR_INIT_COMMAND=>"set names utf8"]
);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);



Bei mir haben ich damit keine Ümlautprobleme mehr.

LG
haumi

__________________
Gelassen das hinnehmen, was nicht zu ändern ist,
engagiert angehen was man gestalten kann.

10.02.2021 07:48 haumi ist offline E-Mail an haumi senden Homepage von haumi Beiträge von haumi suchenNehmen Sie haumi in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Haumis wbb hilfe » ...:::Trainingscenter-wbb2:::... » mysql » Das heitere Umlauteproblem...

Views heute: 5.340 | Views gestern: 6.918 | Views gesamt: 70.931.915
Powered by Burning Board 2.3.6 © 2001-2004 WoltLab GmbH
Am Netz seit dem 3.6.2009 - Powered by © haumis-Team
Style & Buttons © by FriendsbistroTeam
Boardregeln Impressum & Haftungsauschluss Datenschutzerklärung