Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

PHP-MySQL - Umstellung auf UTF-8

Frage Entwicklung Webentwicklung

Mitglied: Dani

Dani (Level 5) - Jetzt verbinden

15.04.2007, aktualisiert 17.04.2007, 17343 Aufrufe, 19 Kommentare

Hallo zusammen,

nachdem der Admin hier ein schönes Tut zu UTF-8 geschrieben hat. Haben wir uns auch dazu entschlossen die Umstellung durchzuführen (ISO -> UTF-8). Ok, also eine kl. Datenbank genommen und diese komplett in UTF-8 umgewandelt. So, dann habe ich aus dem Tut die entsprechenden Zeilen für MySQL und PHP entnommen und bei uns eingefügt bzw. abgeändert.
Wenn ich nun im Internet Explorer die Seite öffne, habe ich das Problem mit ä,ö,ü,ß. Sprich es werden statt den entsprechenden Buchstaben seltsame Symbole angezeigt.
Der Server läuft mit Windows Server 2003 mit PHP und MyQL! Hat jemand von euch eine Idee, was ich vergessen bzw. falsch gemacht habe?!

Hier noch die Codezeilen, die wir ausgeführt haben.

php.ini:
01.
default_mimetype = "text/html" 
02.
default_charset = "UTF-8"
index.php
01.
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
SQL:
01.
ALTER DATABASE `DATENBANK` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 
02.
ALTER TABLE `TABELLE`  DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 
03.
ALTER TABLE `TABELLE` CHANGE `FELD` `FELD` VARCHAR( 254 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ;

Gruß
Dani
Mitglied: 17735
15.04.2007 um 14:40 Uhr
Hallo Dani,

wo treten diese Probleme denn auf? Bei Umlauten aus der Datenbank oder aus PHP-Dateien?

Gruß,
Ahnenforscher
Bitte warten ..
Mitglied: Dani
15.04.2007 um 15:24 Uhr
Hi,
also in der DB stehen die Zeichen richtig drinne!! => PHP.


Gruß
Dani
Bitte warten ..
Mitglied: 17735
15.04.2007 um 16:20 Uhr
Hallo Dani,

also wenn es an den Dateien liegt, musst due die Dateien natürlich auch mit UTF-8-Encoding speichern. Aber vielleicht hast du mich falsch verstanden: Ich meine nicht, ob die Zeichen in der Datenbank richtig sind, sondern ob der Inhalt, der mit Hilfe von PHP aus der Datenbank ausgelesen wird, Probleme macht, oder es die "echos" in PHP-Dateien sind.

Gruß,
Ahnenforscher
Bitte warten ..
Mitglied: Dani
15.04.2007 um 17:39 Uhr
Hi,
also ich benutze Notepad++. Dort habe ich die Koodierung auf UFT-8 umgestellt. Würde sonst ja nichts bringen.

sondern ob der Inhalt, der mit Hilfe von PHP aus der Datenbank ausgelesen wird, Probleme
macht, oder es die "echos" in PHP-Dateien sind.
Wie kann ich das am Besten herausfinden??


Gruß
Dani
Bitte warten ..
Mitglied: 17735
15.04.2007 um 18:10 Uhr
Wie kann ich das am Besten herausfinden??

Hallo Dani,

naja ganz einfach: schreibe in irgendeine Datenbanktabelle eine Zeichenkette mit Umlauten und anderen Sonderzeichen und lese das dann mit PHP aus.

Anschließend schreibst du in der PHP-Datei unter dem MySQL-Auslesen einen Echo-Befehl, z. B.

01.
echo "Sonderzeichentest aus PHP: äöüß";
Dann siehst du ja, ob es an Umlauten in der Datenbank oder in der PHP-Datei liegt.

Gruß,
Ahnenforscher
Bitte warten ..
Mitglied: Dani
15.04.2007 um 18:16 Uhr
Hi,
also mit "echo" gibt er die Zeichen ganz normal aus.
In der DB stehen die Zeichen auch richtig drinne. *grübel*


Gruß
Dani
Bitte warten ..
Mitglied: 17735
15.04.2007 um 18:22 Uhr
Sorry, aber jetzt verstehe ich dich nicht mehr:

echo und Datenbank wird richtig ausgegeben? Wo besteht denn dann dein Problem??

Gruß,
Ahnenforscher
Bitte warten ..
Mitglied: Dani
15.04.2007 um 18:28 Uhr
Also in der Datenbank stehen alle Zeichen richtig. Wenn ich nun in eine Datei echo "äüöß" mache, werden diese auch richtig angezeigt.
Das Problem muss in der Übergabe von SQL => PHP sein. Aber wo??


Gruß
Dani
Bitte warten ..
Mitglied: 17735
15.04.2007 um 18:39 Uhr
Hallo,

jetzt verstehe ich dein Problem: Das Umlaute-Problem besteht also beim Auslesen der Datenbank per PHP.

Hast du mal probiert, den Datenbank-String nicht direkt von PHP ausgeben zu lassen, sondern mit Hilfe von utf8_encode umzuwandeln? Also z. B.

01.
$output = utf8_encode($database);
Gruß,
Ahnenforscher
Bitte warten ..
Mitglied: Dani
15.04.2007 um 18:46 Uhr
Hi,
also so gehts wunderbar! Es liegt also an MySQL!! Was habe ich vergessen??


Gruß
Dani
Bitte warten ..
Mitglied: 17735
15.04.2007 um 18:51 Uhr
Hallo,

du musst den Zeichensatz von MySQL auf UTF-8 Unicode (utf8) setzen. Dies kannst du z. B. in PHPMyAdmin unter MySQL-Zeichensatz und Zeichensatz / Kollation der MySQL-Verbindung tun.

Gruß,
Ahnenforscher

PS: Ich bin hier auch gerade am konfigurieren von UTF-8 bei PHP und MySQL
Bitte warten ..
Mitglied: Dani
15.04.2007 um 18:59 Uhr
Das steht bereits auf UTF-8!!


GRuß
Dani
Bitte warten ..
Mitglied: 17735
15.04.2007 um 19:03 Uhr
Und wie siehts mit der Kollation (dem Zeichensatz) der einzelnen Tabellenspalten aus?

Standardmäßig sind die nämlich latin1_german1_ci. Und laut deinem Skript gang am Anfang hast du die einzelnen Tabellenspalten nicht angepasst?

Gruß,
Ahnenforscher
Bitte warten ..
Mitglied: Dani
15.04.2007 um 19:05 Uhr
Sorry...habe ich vergessen zu posten. Natürlich sind diese auf UTF-8 konvertiert.


GRuß
Dani
Bitte warten ..
Mitglied: 17735
15.04.2007 um 19:13 Uhr
Was ist mit den Einstellungen in der my.cnf?

Also character-set-server und default-character-set.
Die my.cnf bzw. my.ini liegt unter Windows meißt im WINDOWS-Verzeichnis.

Gruß,
Ahnenforscher
Bitte warten ..
Mitglied: Dani
15.04.2007 um 20:04 Uhr
Hi,
also so sehen die Zeilen bei mir aus:
01.
character-set-server 	= utf8 
02.
collation-server 		= utf8_general_ci 
03.
default-character-set 	= utf8

Gruß
Dani
Bitte warten ..
Mitglied: 17735
16.04.2007 um 16:00 Uhr
Hallo Dani,

ich hab mich mal heute morgen ein wenig für dich schlaugemacht - viel konnte ich allerdings auch nicht erfahren

Also, du kannst auf jeden Fall den Datenbankserver dazu zwingen, Inhalte im UTF-8-Format auszugeben, wenn du folgenden ersten Query ausführst:

01.
mysql_query("SET NAMES 'utf8'"); 
02.
mysql_query("SET CHARACTER SET 'utf8'");
Auf eine andere Art und Weise wird es wahrscheinlich nicht gehen, da, so wie ich gehört habe, dass ganze von der mysql-DLL-Datei abhängt, die PHP für die Verbindung mit dem MySQL-Server nutzt. Also egal, was auf dem Server eingestellt ist, erzwingt die mysql.dll von PHP den Server zum Senden der Daten im ISO-Format.

Probiers mal aus,

Gruß,
Ahnenforscher
Bitte warten ..
Mitglied: Dani
17.04.2007 um 00:21 Uhr
G' Abend,
wunderbar...so klappts es prima! Ich danke dir! Ich poste dieen Lösungsweg noch im Tut von Frank. OK?


Gruß
Dani
Bitte warten ..
Mitglied: 17735
17.04.2007 um 14:26 Uhr
Hallo Dani,

natürlich ist es OK, dass du diesen Lösungsweg im Tutorial von Frank postest

Gruß,
Ahnenforscher

PS: Bin seit neustem Moderator in diesem Bereich "Webentwicklung"
Bitte warten ..
Ähnliche Inhalte
PHP
PHP Umstellung mysql connect
Frage von DPiegzaPHP7 Kommentare

Hallo zusammen. Ich bekomme immer diese Fehlermeldung / Warnung: Deprecated: mysql_connect(): The mysql extension is deprecated and will be ...

Ubuntu
Dateiinhalt in UTF-8 ist nicht gleich UTF-8?
gelöst Frage von lexa-lexaUbuntu6 Kommentare

Hi Linux und PHP Gurus, ich habe ein Problem mit dem Zeichensatz *in* einer Datei und komme nicht weiter: ...

Python
Python mal utf-8 mal nicht
gelöst Frage von peterpaPython1 Kommentar

Hallo, ich versuche gerade ein Programm zu schreiben, in Python, welches eine große HTML Datei in mehrere kleine aufspaltet. ...

Batch & Shell
Csv (und andere Dateien) in charset utf-8 umwandeln (batch)
gelöst Frage von OKIDOKIBatch & Shell4 Kommentare

Guten Abend, ich hänge seit Tagen an einem Problem: Eine csv und php Datei möchte ich, wie der Titel ...

Neue Wissensbeiträge
MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 4 StundenMikroTik RouterOS4 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 4 StundenSicherheit

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Administrator.de Feedback

Entwicklertagebuch: Die Startseite wurde überarbeitet

Information von admtech vor 7 StundenAdministrator.de Feedback6 Kommentare

Hallo Administrator User, mit dem Release 5.7 haben wir unsere Startseite überarbeitet und die Beiträge und Fragen voneinander getrennt. ...

Vmware

VMware Desktopprodukte sind verwundbar

Information von Penny.Cilin vor 11 StundenVmware

Die VMware-Anwendungen zum Umgang mit virtuellen Maschinen Fusion, Horizon Client und Workstation sowie die Plattform NSX sind verwundbar. Davon ...

Heiß diskutierte Inhalte
Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail
Frage von ahstaxVisual Studio24 Kommentare

Hallo, ich möchte gerne ein vb.net-Tool schreiben, das am Ende eine Outlook-E-Mail erzeugt. Grundsätzlich ist mir klar, wie das ...

Windows Netzwerk
Netzwerk Neustrukturierung
Frage von IT-DreamerWindows Netzwerk16 Kommentare

Hallo verehrte Community und Admins, bei uns im Haus steht eine Neustrukturierung an. Dafür benötige ich von euch ein ...

Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server16 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...