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 Umlaute in DB

Mitglied: yannick-server

yannick-server (Level 1) - Jetzt verbinden

23.10.2010, aktualisiert 17.11.2010, 3496 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
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 1 TagHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 2 TagenRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 2 TagenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 2 TagenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk14 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...

Netzwerkmanagement
Netzwerkmanagment im Haus mit Switch, Panel und pfsense
gelöst Frage von CorraggiounoNetzwerkmanagement13 Kommentare

hi zusammen, wir sind gerade dabei das ganze Haus bzw. die einzelnen Zimmer mit netzwerkdosen zu versorgen. Vom Keller ...

Vmware
Server 2008 r2 vmware terminalserver
Frage von MasterCVmware12 Kommentare

Guten Abend zusammen, ich hoffe , dass einer von euch mir weiterhelfen kann ,bei meinem kack Problem ! Ist ...

Google Android
Empfehlung: Android Ortungsapp
gelöst Frage von certifiedit.netGoogle Android12 Kommentare

Guten Morgen, grundsätzlich vorweg, ich wollte mich eben schlau machen, bzgl einer Ortungsapp, welche Androidbasiert einem anderen Androidsmartphone mitteilt, ...