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

Mitglied: Dani

Dani (Level 5) - Jetzt verbinden

15.04.2007, aktualisiert 17.04.2007, 17372 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: ...

Blogs

Immer wiederkehrende PHP Fehlermeldung bei Wordpress UTF-8 - ASCII

gelöst Frage von vcdweltBlogs11 Kommentare

Hi, seit einiger Zeit wird mein error_log meines Wordpress Blogs mit immer der gleichen Fehlermeldung überschwemmt. 14-Dec-2017 08:18:05 UTC ...

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. ...

Neue Wissensbeiträge
Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 2 StundenMicrosoft2 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Windows 10

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 20 StundenWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

iOS
IOS 11.2.6 verfügbar
Information von sabines vor 1 TagiOS

Mit dem Update soll der Bug behoben werden, bei dem eine bestimmte Zeichenkette IOS zum Absturz gebracht hat.

Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 1 TagSicherheit8 Kommentare

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Heiß diskutierte Inhalte
Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server30 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

LAN, WAN, Wireless
VPN Cisco ASA5505 PaloAlto PA-200
gelöst Frage von YannoschLAN, WAN, Wireless25 Kommentare

Hallo zusammen, ich würde gerne ein Site-to-Site VPN zwischen den beiden Standorten aufbauen. PaloAlto PA200 Internetanschluss Deutsche Telekom GK ...

SAN, NAS, DAS
Qnap TS-453S Pro - Anbindung Active Directory
Frage von JuckieSAN, NAS, DAS13 Kommentare

Hallo zusammen, ich habe hier eine Qnap TS-453S Pro die sich mal so absolut gar nicht in das Active ...