|
|||
Nachmal XHTML, PHP, MySQL und UTF-8
Hallöchen miteinander!
Da hier in dem genannten Bereich ja scheinbar einiges an Erfahrung existiert. kann mir hier vielleicht jemand weiterhlefen... Ich schreibe momentan ein CMS und dieses soll multilingual sein. Das klappt durch ausgelagerte Locales auch ganz gut, nur ist mir leider recht spät eingefallen, dass es noch Zeichen außerhalb von Latin1 gibt... Darum hab ich folgendes gemacht: -> Alle Tabellen in MySQL umgestellt auch UTF-8 (die alten Einträge sind dadurch zwar fehlerhaft, ist aber vorerst egal -> mbstring-Extension in PHP aktiviert, mbstring.internal_encoding auf UTF-8 gesetzt und str*-Funktionen überladen -> Formulare angepasst so dass sie accept-charset="UTF-8" haben. -> Seiten angepasst, dass als header content="text/html; charset=UTF-8" haben (sowohl im head-bereich als auch von PHP aus) Dabei ist dann dieses herausgekommen: - soweit ich das beurteilen kann, landen die Formulardaten korrekt als UTF-8 in der DB (Navicat zeigt für ein ü bspw. A mit Tilde und 1/4 Zeichen, der kann wohl kein UTF-8, schätze ich, jedenfalls werden üs aus alten Einträgen auch als ü gezeigt) - bei der Augabe (ob über htmlentities() escaped oder nicht ist egal) bleiben allerdings die Zeichen so wie sie in der DB stehen, es wird also auch ein A mit Tilde und 1/4 Zeichen ausgegeben und ist im Browser sichtbar. (mit htmlentities() als $Atilde; ...) :-/ Was mache ich falsch? |
Sponsored Links |
Sponsored Links |
|
|||
Re: Nachmal XHTML, PHP, MySQL und UTF-8
Zitat:
Zitat:
Die beiden oberen Einträge... äh, häh???? Leck die Katz! Auf meinem Popel-Testserver funktionierts!!! Mist. ...äh ich mein super... =) Fantastisch, also die beiden oberen Einträge zeigen normalerweise die Umlaute richtig an und der dritte den UTF-8 als ASCII. Hier ist's jetzt jedoch wie's sein soll, d.h. die ersten beiden sind unicodemäßig Müll und der Dritte wird vom Browser richtig dekodiert... grml... Also werd ich nun erst mal checken, was die genauen Unterschiede in der PHP.ini sind (an der liegt's wahrscheinlich, die hab ich grad auf die schnelle für mbstring fertiggemacht), aber das mache ich nicht mehr heut. Bin vom Museumsuferfest noch zu strulli und platt... 8-] Ich meld mich wenn ich was genaueres weiß... |
|
||||
Re: Nachmal XHTML, PHP, MySQL und UTF-8
Zitat:
Da ich gerade reingucke: Bitte gib deinen Stylesheets mediale Einschränkungen — media="screen,projection" — ein Handheldbrowser will die sicher nicht laden. ;) Und »Cache-Control:no-store« ist für Leute mit wenig Arbeitsspeicher eine wahre Pest. Nicht machen. Den Rest kommentiere ich lieber mal nicht. :) Gruß Thomas |
|
||||
Re: Nochmal XHTML, PHP, MySQL und UTF-8
Zitat:
Prinzipiell funktioniert's also, es gibt aber immer noch ein Problem. Wenn ich den obersten Abschnitt z.B. von dieser Seite eintrage, wandern 95% der Zeichen korrekt in die DB und wieder heraus, der Rest scheint kein Unicode mehr zu sein und wird durch das altbekannte Fragezeichen ersetzt bei der Ausgabe. Die Engaben werden für das Query mit mysql_real_escape_string() behandelt, das kann aber nicht der Verursacher sein. Kurz gefasst, übliche (Latin) Unicodes funktionieren, Unicodes exotischer Sprachen funktionieren manchmal nicht. Kennt jemand dieses Problem? Könnte es vielleicht mit dem Copy-Paste zusammenhängen? (Wobei, eigentlich nicht, der Text wird ja noch in der Textarea richtg angezeigt...) Zitat:
Zitat:
Wo kommt denn das mit? Als header? Dann muss es noch irgendwo in der Apache-Config drin sein, muss mal bei Gelegenheit schauen. Wobei dynamische Seiten eigentlich sowieso nicht gecachet werden sollten, oder übersehe ich was? Zitat:
Welchen 'Rest' meinst Du? Gruß, ()((() |
|
|||||
Re: Nochmal XHTML, PHP, MySQL und UTF-8
Zitat:
Zitat:
Zitat:
Zitat:
Gruß Thomas |
|
|||||
Re: Nochmal XHTML, PHP, MySQL und UTF-8
Zitat:
Aber sonst fällt Dir auf Anhieb auch keine andere Fehlerquelle ein? Ich hab grad mal das Verhalten beim Explorer gecheckt, und das Problem scheint (wenn überhaupt) serverseitig zu sein. 'Wenn überhaupt' deshalb, weil der IE bei der Ausgabe mehr Zeichen richtig darstellt als Firefox. von dem erwähnten 1. Absatz wird nur ein Zeichen als Rechteck angezeigt, bei FF sind's cs. 20 Fragezeichen. Die Frage ist bloß, was soll ich jetzt daraus schließen? Zitat:
Zitat:
header('Cache-control: private'); header('Cache-control: must-revalidate'); header('Cache-control: max-age=0'); header('Pragma: no-cache'); Hab's aber nur kurz überflogen, ist das so sinnvoll? Zitat:
Aber ich möchte, dass die Seite auch auf älteren Browsern einigermaßen ordentlich angezeigt wird. Außerdem kann man eben auch nicht alles über CSS lösen, um Tabellen kommt man manchmal nicht herum. Allerdings gibt's auch nicht soviel was man ändern und über CSS abwickeln könnte. Falls Dir bspw. eine bessere Lösung für die Tabellen mit abgerundeten Ecken einfällt, immer her damit. Ich bin für konstruktive Kritik immer zu haben, Betonung auf 'konstruktive'... :) |
|
||||||
Re: Nochmal XHTML, PHP, MySQL und UTF-8
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Gruß Thomas |
|
|||||||
Re: Nochmal XHTML, PHP, MySQL und UTF-8
Zitat:
Wenn ich den String, wie er an die DB geht, ausgebe siehts noch normal aus, müsste folglich an der Übertragung hängen... Jetzt habe ich den Charset auch für die Verbindung und alles mögliche mal auf UTF8 ungestellt, das macht alles nur schlimmer. Dann kommen die Results scheinbar als die UTF8-Kodierung des als ISO-8... interpretierten Tabelleninhalts an... lol =) Also ein ü, das als ATilde mit 1/4tel in der DB steht (wenn man es als ISO interpretiert), kommt dann als ATilde mit 1/4tel in Unicode aus der DB... :-/ Ich werd mir jetzt wohl mal 'professionelle' Hilfe bei MySQL holen müssen. Zitat:
Mal wieder: Danke Microsoft! Zitat:
header('Cache-control: private, must-revalidate, max-age=0'); Wie checkst Du eigentlich die Header? Hast Du da ein extra Tool für oder schaust Du Dir den gecaptureten Stream an? Zitat:
hübsch: nein. Also nur Inhalt und keine Präsentation ist nicht besonders ansprechend, was bei einem Medium, wo das Auftreten (beim ersten Blick) wichtiger ist als der Inhalt, fatal sein kann. Auf lange Sicht ist selbstverfreilich der Content das tragende Element. Zitat:
gerade in Bereichen, wo es auf pixelgenaue Positionierung ankommt, hat CSS oder besser dessen Implementierung der versch. Browser noch ziemliche Nachteile. Wenn ich nur dran denke was da schon alles lustiges gesehen hab. BTW, der Administrationsbereich nutzt auch keine Frames, aber über position: fixed; eine Emulation derselben. Leider kennt unser lieber Marktführer diese Methode noch nicht. War eine Heidenarbeit das so hinzubekommen, dass es in IE und FF vernünftig aussieht. Ist markupmäßig durch 0 Pixel breite Bilder auch ähm... suboptimal... =) Wird Zeit dass wir 2010 haben und man CSS und andere Standards konsequent nutzen kann... IE kann nicht mal PNGs richtig darstellen. :-/ |
Sponsored Links |
|
||||||
Re: Nochmal XHTML, PHP, MySQL und UTF-8
Zitat:
Was für eine Windowsversion benutzt du? Hast du die Erweiterung für asiatische Sprachen installiert? Die braucht der IE sowieso an jeder Ecke, auch wenn man gar nichts mit asiatischen Sprachen zu tun hat… Zitat:
Ich habe im Kontextmenü (Opera) diesen Eintrag: Code:
Item, "WebSniffer"="Go to page, "http://web-sniffer.net/?url=%u"" Zitat:
Den meisten ist die Präsentation egal, solange die Inhalte übersichtlich und gut lesbar sind und schnell geladen werden. Dazu braucht man nicht unbedingt ein Stylesheet. Zitat:
Zitat:
Zitat:
Gruß Thomas |
Sponsored Links |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Wo kann man am besten PHP und MySQL lernen? | papalapap | Ressourcen | 10 | 11.12.2013 17:56 |
html 4.01 >> XHTML | tupamaro | (X)HTML | 9 | 30.09.2012 20:32 |
Dateien auslagern - Include und PHP | ArcVieh | Serveradministration und serverseitige Scripte | 17 | 27.03.2008 19:09 |
Buchempfehlung für PHP und MySQL Einstieg | Crizzo | Ressourcen | 4 | 04.08.2007 20:57 |
Xhtml und PHP | weightwatcher | (X)HTML | 11 | 22.03.2005 21:29 |