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

Frage Entwicklung PHP

GELÖST

Umlaute in DB

Mitglied: yannick-server

yannick-server (Level 1) - Jetzt verbinden

23.10.2010, aktualisiert 17.11.2010, 3481 Aufrufe, 6 Kommentare

Hi!
Habe ein Problem bein Eintragen und Ausgeben von Daten aus meiner MySQL Datenbank.
Habe schon hier und in Google gesucht und folgende Lösung gefunden.

Beim Verbinden der Datenbank, führe ich diesen Query aus:
01.
mysql_query("SET NAMES 'utf8'");
Wenn ich nun die Daten eingebe funktioniert es wunderbar, in der Datenbank steht äöüß.
Gebe ich die Daten aber nun aus erhalte ich öüä�.

Kollation der Tabelle und des Feldes sind 'latin1_general_ci'.
Bin leider zu keiner Lösung gekommen.
Schonmal vielen Dank für eure Antworten
gruß Yannick

EDIT:
Wenn ich den Text normal ausgebe ohne htmlentites werden die Sonderzeichen richtig dargestellt.
Mitglied: godlie
23.10.2010 um 12:28 Uhr
Hallo eine einfache Frage sieht

latin1_general_ci gleich aus wie utf8 ?

Entweder alles utf8 oder alles latin entscheide dich.
Bitte warten ..
Mitglied: yannick-server
23.10.2010 um 12:46 Uhr
Was ist denn geeigneter?
Wenn ich mich für latin entscheiden, muss ich dann auch den HTML:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />hier ändern?

Wenn ich den Text normal ausgebe ohne htmlentites werden die Sonderzeichen richtig dargestellt.
Bitte warten ..
Mitglied: godlie
23.10.2010 um 12:48 Uhr
Also wenn du deine Daten per utf-8 aus / eingibst und das in ein latin1 feld speicherst dann darf es dich nicht wundern.

ich würde die kollation auf utf_general_ci oder so stellen, insofern du nicht schon daten drinnen hast, sollte dies der fall sein
musst du die daten ggf. umwandeln.
Bitte warten ..
Mitglied: yannick-server
23.10.2010 um 12:56 Uhr
Danke.
Ich hab jetzt mal die DB auf latin1 gestellt also mysql_query("SET NAMES 'latin1'");
Jetzt funktioniert die Ausgabe der vorhandenen Einträge, wenn ich aber neue Einträge erstelle werden diese als öüäÃ�
in der Datenbank gespeichert und auch wieder ausgegeben.
Bitte warten ..
Mitglied: yannick-server
23.10.2010 um 13:29 Uhr
Jetzt klapps:

Beim Verbinden mit der Datenbank:
mysql_query("SET NAMES 'latin1'");
mysql_query("SET CHARACTER SET 'latin1'");

Vor dem Eintragen
mysql_query("SET NAMES 'utf-8'");
danach wieder umstellen auf:
mysql_query("SET NAMES 'latin1'");

HTML Contynt-Type steht auf: iso-8859-1

Warum verstehe ich noch nciht, aber es klappt immerhin.
Ich wäre Froh, wenn jemand eine Erklärung dafür hätte.

Danke nochmal an godlie, du hast mir sehr geholfen

mfg
Yannick
Bitte warten ..
Mitglied: dog
24.10.2010 um 19:08 Uhr
mysql_query("SET NAMES 'utf8'");

Und wenn du dir die PHP-Doku durchliest wirst du ganz schnell sehen, dass dort von genau diesem Query explizit abgeraten wird.
Alles was der macht, ist den MySQL-Client in einen undefinierten Status zu setzen, wo alles passieren kann.

http://de3.php.net/mysql_set_charset

Und man sollte schon durch die Bank weg den selben Zeichensatz benutzen, auch wenn "UTF-8 in ISO-8859-1" ein mittlerweile so verbreiteter Fehler ist, dass ihn manche Clients korrigieren können.

Noch was: substr und einige andere Funktionen sind nicht für Multibyte-Zeichensätze wie UTF-8 geeignet!

Und jetzt bitte mal die Standardlektüre zum Thema lesen: http://www.joelonsoftware.com/articles/Unicode.html
Bitte warten ..
Ähnliche Inhalte
Outlook & Mail
Abwesenheitsassistent keine Umlaute
Frage von Rod160Outlook & Mail1 Kommentar

Hallo liebe Administratoren, habe folgendes Problem: unser Abwesenheitsassistent gibt nach extern keine Umlaute aus, intern funktionieren die Umlaute problemlos. ...

Batch & Shell
Umlaute in Pfadangaben
gelöst Frage von goodbytesBatch & Shell8 Kommentare

Hallo, ich stehe leider immer noch vor dem leidigen Thema Umlaute in Batches :- Bei Dateinamen und in den ...

Datenbanken
Europa Länder DB in Webseite einfügen ? Woher die DB ?
Frage von bob777Datenbanken8 Kommentare

HI Bastle gerabe an einer Seite CMS da kann man dann per Hand alle Länder einfügen ich brauche aber ...

Linux
Umlaute zählen - Bash-Script
gelöst Frage von plutowitschLinux5 Kommentare

Hallo liebe Administratoren, ich würde gerne mit Hilfe eines Codeschnipsels die Umlaute eines Strings zählen. Beispiel: Jemand eine Idee, ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 1 TagTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 1 TagSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 1 TagSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Sicherheit
Meltdown und Spectre: Die machen uns alle was vor
Information von FrankSicherheit27 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Ubuntu
Ubuntu - Starter für nicht vertrauenswürdige Anwendungen
Frage von adm2015Ubuntu17 Kommentare

Hallo zusammen, Ich verwende derzeit die Ubuntu Versionen 17.10 bzw. im Test 18.04. Ich habe mehrere .desktop Dateien in ...

SAN, NAS, DAS
Hilfe beim Einrichten eines Storages (SAN)
gelöst Frage von Vader666SAN, NAS, DAS15 Kommentare

Hallo Admins! Ich bin in einer kleineren Firma und hatte bisher mit dem Thema SAN nur in meiner Ausbildung ...

Monitoring
VPN Performance Zyxel-Fritte
gelöst Frage von HenereMonitoring13 Kommentare

Servus, nachdem ihr mir ja schon so gut helfen konntet, was das VPN zwischen Zyxel USG60W und Fritte 7490 ...