Antworten auf deine Fragen:
Neues Thema erstellen

PHP & SQL & Umlaute - mögen sich mal wieder nicht...?

ap1

Grafik/Web

Hey Leute!

Denke die Überschrift ist klar ;)

Aus Ü Ä Ö ß oder sowas wird so zeugs wie:
ölä und ü etc...

DB Charset:
Code:
utf8_unicode_ci
DB Typ:
Code:
MyISAM
PHP Header: (macht das überhaupt sinn?)
Code:
header('Content-Type: text/html; charset=utf-8');
HTML Head:
Code:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
und DB Query:
Code:
"UPDATE xyz SET abc = '".mysql_real_escape_string($str)."'"
EDIT: wenn ich die($sqlQuery); mache, gibt er mir brav alle Ümläüte aus... Es liegt also wahrscheinlich am DB Charset?

Er will mir keine Umlaute speichern - was soll das?


PS 1: charset der DB auf UTF-8_bin zu ändern bringt nur einen SQL fehler!
PS 2: macht es sinn zB Namen als J&ouml;rg zu speichern?
 
Zuletzt bearbeitet:

ChrisvA

Aktives Mitglied

AW: PHP & SQL & Umlaute - mögen sich mal wieder nicht...?

Hast du mal versucht, ob du den SQL-String (SQL-Query) direkt in PHPMyAdmin eintragen kannst und ob dann alles richtig eingetragen wird.
 

ap1

Grafik/Web

AW: PHP & SQL & Umlaute - mögen sich mal wieder nicht...?

Hast du mal versucht, ob du den SQL-String (SQL-Query) direkt in PHPMyAdmin eintragen kannst und ob dann alles richtig eingetragen wird.

Danke :D
Ja... jetzt eben gerade - Da kommts mit ü ö ä ß etc... an! An was liegt das jetzt?

lg & vielen dank bis hierhin
 
Zuletzt bearbeitet:

ChrisvA

Aktives Mitglied

AW: PHP & SQL & Umlaute - mögen sich mal wieder nicht...?

Also der Fehler liegt dann auf jeden Fall im unterschiedlichen/falschen Zeichensatz vom PHP-SQL-Query und der Verarbeitung in MySQL.
Also den Zeichensatz, den du an die Datenbank sendest stimmt vermutlich nicht mit dem überein, den die Datenbank erwartet (und auch für die weitere Verarbeitung benutzt).
Da ich mit mit MySQL-Server aber leider nicht besonders gut auskenne, kann ich dir leider nicht weiterhelfen.
 

ap1

Grafik/Web

AW: PHP & SQL & Umlaute - mögen sich mal wieder nicht...?

Also der Fehler liegt dann auf jeden Fall im unterschiedlichen/falschen Zeichensatz vom PHP-SQL-Query und der Verarbeitung in MySQL.
Also den Zeichensatz, den du an die Datenbank sendest stimmt vermutlich nicht mit dem überein, den die Datenbank erwartet (und auch für die weitere Verarbeitung benutzt).

Jo :D vielen Dank! Immerhin habe ich so viel mit deiner Hilfe rausgefunden!

An alle anderen:
Da ich mit mit MySQL-Server aber leider nicht besonders gut auskenne, kann ich dir leider nicht weiterhelfen.

Wie geht das?
 

saila

Moderatorle

AW: PHP & SQL & Umlaute - mögen sich mal wieder nicht...?

Hi,

also das kann an drei Möglichkeiten liegen:
1. default charset ist nicht eingestellt bei php
2. HTTP_ACCEPT_CHARSET ist iso und nicht utf-8
3. die DB-Tabelle hat kein utf-8 bzw. die text- oder varchar-Felder haben kein utf-8

1. und 2. kannst du herausfinden durch einen Eintrag in einer php-Datei wie folgt:
PHP:
<?php
echo phpinfo();
?>

Was die DB betrifft, kannst du dir die Einstellung für die jeweiligen Felder in der Tabelle bzw. DB-Tabelle ansehen (Stichwort: phpMyAdmin)
 

sh0ck

PST-SURVIVOR

AW: PHP & SQL & Umlaute - mögen sich mal wieder nicht...?

hallo.

EDIT:
nochmal durchgelesen. er speichert dir also die datensätze nicht korrekt in der db-tabelle?
probier mal folgendes:

PHP:
"UPDATE xyz SET abc = '".utf8_encode(mysql_real_escape_string($str))."'"

gruss chris
 
Zuletzt bearbeitet:

ap1

Grafik/Web

AW: PHP & SQL & Umlaute - mögen sich mal wieder nicht...?

+++ LÖSUNG +++ LÖSUNG +++ LÖSUNG +++ LÖSUNG +++ LÖSUNG
(weiter unten)
Hi,

also das kann an drei Möglichkeiten liegen:
1. default charset ist nicht eingestellt bei php
2. HTTP_ACCEPT_CHARSET ist iso und nicht utf-8
3. die DB-Tabelle hat kein utf-8 bzw. die text- oder varchar-Felder haben kein utf-8

1. und 2. kannst du herausfinden durch einen Eintrag in einer php-Datei wie folgt:
PHP:
<?php
echo phpinfo();
?>
Was die DB betrifft, kannst du dir die Einstellung für die jeweiligen Felder in der Tabelle bzw. DB-Tabelle ansehen (Stichwort: phpMyAdmin)

phpInfo sagt mir:
Code:
HTTP_ACCEPT_CHARSET ISO-8859-1,utf-8;q=0.7,*;q=0.7
Und die Spalte der DB hat folgende Einstellungen:
varchar(255) utf8_unicode_ci
bzw. die Tabelle selbst MyISAM utf8_unicode_ci

Mit dem default charset hast du recht!
Code:
default_charset    no value    no value
sollte ich auf UTF-8 setzen oder?

Ich probiers mal.
Edit: ich kriege es nicht hin!! Wie ändere ich default_charset auf UTF-8?
File: php.ini
Code:
default_charset = "utf-8"
geht nicht??

hallo.

EDIT:
nochmal durchgelesen. er speichert dir also die datensätze nicht korrekt in der db-tabelle?
probier mal folgendes:

PHP:
"UPDATE xyz SET abc = '".utf8_encode(mysql_real_escape_string($str))."'"
gruss chris

Hallo Chris!

Deine Lösung ergibt leider nur: ü :(

lg & vielen Dank bis hierher!

##################################################################
##################################################################


Habe die Lösung!

Da ich jetzt direkt in meine SQL Klasse gegangen bin, und zufällig per Google auf den Befehl
Code:
mysql_set_charset('utf8',$this->myCon);
gestoßen bin, besteht nun eine UTF-8 DB verbindung :=)

Vielen Dank für eure Bemühungen!
PS: der Charset in der DB kann übrigens
utf8_swedish_ci bleiben, warum auch immer :)

Vielen Dank!
 
Zuletzt bearbeitet:

Bo2b

Noch nicht viel geschrieben

"This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. "

In PHP 7.0.0:
mysqli_set_charset($this->myCon,"utf8");
 

Curanai

Aktives Mitglied

Winziger Nachtrag von mir: utf8mb4, bitte! Also wenn Du mal echt exotisches Zeug in die Datenbank kriegen solltest ... denn: Die „utf8“-Kodierung unterstützt nur drei Bytes pro Zeichen. Die echte UTF-8-Codierung, die man sonst so verwendet verwendet, benötigt bis zu vier Bytes pro Zeichen. Die Entwickler von MySQL haben das nie behoben - der Workaround heißt daher "utf8mb4". Damit wird das zum echten utf-8, wie man es technisch auch erwartet. ;)
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
118.611
Beiträge
1.538.342
Mitglieder
67.524
Neuestes Mitglied
BSKGA
Oben