| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

17-09-2009, 18:49
|
|
erniedd
Registrierter Benutzer
|
|
Registriert seit: Mar 2009
Beiträge: 51
|
|
Umläute werden nicht richtig angezeigt
Hallo, wer sich meine Überschrift schon etwas genauer angeguckt hat, weiß sicherlich schon worum es geht.
Meine Umlaute wie ö ä ü werden in komischen Zeichen ausgegeben.
Z.B. Text in der Datenbank: der Erbe des größten Königreichs
Test im Explorer: der Erbe des größten Königreichs
Ich hab jetzt schon alles ausprobiert und komme einfach nicht weiter, das interessante ist im FireFox springt es hin und her, die Umlaute werden manchmal richtig angzeigt, und dann 2 oder 3 mal F5 schon sieht es wieder anders aus.
Ich habe alles auf utf8_unicode_ci eingstellt, die Datenbank auch. Vorher hatte ich alles auf utf_general_ci klappte aber auch nicht.
Code
Mein Charset:
PHP-Code:
<meta http-equiv="Content-Type" content="text/html; accept-charset=utf8_unicode_ci" />
Nach jeden Datenbank connect habe ich das hier stehn:
PHP-Code:
<?php require_once('../../Connections/verbindung.php');
mysql_query("SET NAMES 'utf8_unicode_ci'");
mysql_query("SET CHARACTER SET utf8_unicode_ci");
Irgendwann bin ich mal draufgekommen, dass es an meiner Datenbank liegen könnte. Habe alles gleich eingestellt. Benutze Xampp.
PHP-Code:
CREATE TABLE IF NOT EXISTS `tblspieledatenbank` (
`int_spiel_id` int(11) NOT NULL AUTO_INCREMENT,
`str_spiel_name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`int_hersteller_id` int(11) DEFAULT NULL,
`int_sprache_id` int(11) NOT NULL,
`str_groesse` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
`str_date_number` varchar(100) CHARACTER SET utf8 NOT NULL,
`int_betriebsystem_id` int(11) DEFAULT NULL,
`int_genre_id` int(11) DEFAULT NULL,
`int_kategorie_id` int(11) DEFAULT NULL,
`dtm_einstellung` datetime DEFAULT NULL,
`txt_downloadeins` text COLLATE utf8_unicode_ci,
`txt_downloadzwei` text COLLATE utf8_unicode_ci,
`txt_downloaddrei` text COLLATE utf8_unicode_ci,
`txt_ftpsearch` text COLLATE utf8_unicode_ci NOT NULL,
`txt_bildlink` text COLLATE utf8_unicode_ci NOT NULL,
`lb_anlagen` longblob,
`txt_beschreibung` text COLLATE utf8_unicode_ci,
`lb_bild` longblob,
PRIMARY KEY (`int_spiel_id`),
KEY `int_betriebsystem_id` (`int_betriebsystem_id`),
KEY `int_genre_id` (`int_genre_id`),
KEY `int_hersteller_id` (`int_hersteller_id`),
KEY `int_kategorie_id` (`int_kategorie_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=105 ;
Hier ist die Seite nochmal komplett: detail.php
Schon ma im Voraus DANKEEEEEEEE!!! für euere HILFE :-)
|

17-09-2009, 18:58
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von erniedd
Hallo, wer sich meine Überschrift schon etwas genauer angeguckt hat, weiß sicherlich schon worum es geht.
|
Natürlich - die ganze Thematik hat einen ellenlangen Bart.
Dass dazu überhaupt noch gefragt werden muss, ist eigentlich verwunderlich ...
Zitat:
Z.B. Text in der Datenbank: der Erbe des größten Königreichs
Test im Explorer: der Erbe des größten Königreichs
|
Das sieht nach UTF-8 aus, welches einfach als ANSI/ISO-8859-xy interpretiert wird.
Hast du denn auch im Content-Type-Header bei der Auslieferung der Ressource die richtige Angabe zur Zeichenkodierung gemacht?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

17-09-2009, 20:26
|
|
erniedd
Registrierter Benutzer
|
|
Registriert seit: Mar 2009
Beiträge: 51
|
|
sorry das musst du mir genauer erläutern? meinst du jetzt im html code, ganz oben content="text/html; accept-charset=utf8_unicode_ci" ? stimmt was nicht oder wie
Zitat:
Das sieht nach UTF-8 aus, welches einfach als ANSI/ISO-8859-xy interpretiert wird.
Hast du denn auch im Content-Type-Header bei der Auslieferung der Ressource die richtige Angabe zur Zeichenkodierung gemacht?
|
Geändert von erniedd (17-09-2009 um 20:28 Uhr)
|

17-09-2009, 20:29
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von erniedd
sorry das musst du mir genauer erläutern? meinst du jetzt im html code, ganz oben Header ? oder wie
|
Nein, in dem HTTP-Header, den ich nannte, bei der Auslieferung der Ressource durch den Server.
Eine an dieser Stelle gemachte Angabe hat bekanntlich Vorrang vor einer im Dokument per Meta-Element gemachten - und das solltest du eigentlich auch bereits wissen, wenn du dich vor dem Fragen ein bisschen mit dem Thema beschäftigt hättest!
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

17-09-2009, 20:46
|
|
erniedd
Registrierter Benutzer
|
|
Registriert seit: Mar 2009
Beiträge: 51
|
|
sorry bin ein anfänger ... bin schon seit heute mittag drann ... und lese mich durch googel, aber naja ... bin mir jetzt immer noch nicht sicher wie das gemeinst ist. aber ich versuchs jetzt einfach mal
alsooo
PHP-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; accept-charset=utf8_unicode_ci" />
meinst du vor dem meta stimmt irgendwas nicht ?
Welche stelle ist es denn dann ?
|

17-09-2009, 20:46
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
Zitat:
Zitat von erniedd
PHP-Code:
<meta http-equiv="Content-Type" content="text/html; accept-charset=utf8_unicode_ci" />
|
Da mischt du aber alles zusammen: HTML, SQL, und HTTP Request Headers. Das ist leider die falsche Variante auf Nummer sicher zu gehen.
So wird ein Schuh draus:
PHP-Code:
header("Content-Type: text/html; charset=UTF-8"); ... <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Gruß,
Amica
|

17-09-2009, 21:15
|
|
erniedd
Registrierter Benutzer
|
|
Registriert seit: Mar 2009
Beiträge: 51
|
|
oki ich hab nun das hier geändert:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
funktioniert nun, hoffentlich bleibt es auch so ... hab da ein wenig angst
oki das zweite ist php, wenn ich jetzt nicht total doof bin
header("Content-Type: text/html; charset=UTF-8");
also ich hab das jetzt auch eingesetzt bekomme aber dann ne Fehlermeldung
Warning: Cannot modify header information - headers already sent by (output started at
also gehe ich davon aus das eins davon reicht ? sonst wäre es ja doppelt gemoppelt, naa lieg ich richtig, hoffe ja, wenn nicht kritisiert mich bitte
aber auf jedenfall schon mal vielen dank für die Hilfe weil es geht soweit schon mal, falls es sich noch was ändert schreib ich dann nochmal
DANKE DANKE  :-)
|

17-09-2009, 21:23
|
|
erniedd
Registrierter Benutzer
|
|
Registriert seit: Mar 2009
Beiträge: 51
|
|
oki mhhh, ich glaub zu früh gefreut...
also ich hab jetzt noch ganz selten ein � statt ü ö ß im firefox
ich werd das jetzt weiter beobachten
|

17-09-2009, 21:24
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von erniedd
oki das zweite ist php, wenn ich jetzt nicht total doof bin
header("Content-Type: text/html; charset=UTF-8");
also ich hab das jetzt auch eingesetzt bekomme aber dann ne Fehlermeldung
Warning: Cannot modify header information - headers already sent by (output started at
|
Wenn du es nicht schaffst, dich über diese Meldung und ihre Bedeutung zu informieren (und sie ist im Netz bestens dokumentiert, weil so gut wie jeder Newbie mit ihr Probleme hat - obwohl im Handbuch bereits überdeutlich beschrieben wird, was beim Umgang mit header() zu beachten ist) - dann würde hinsichtlich der "wenn ich jetzt nicht"-Frage an deiner Stelle von "doch, bist du" ausgehen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

17-09-2009, 21:43
|
|
erniedd
Registrierter Benutzer
|
|
Registriert seit: Mar 2009
Beiträge: 51
|
|
ja ich habs grad gelesen ( keine angst, ich sitz hier nit untätig rum, ich googel schon als rum) dass man ihn ganz weit noch oben setzten sollte, so wie ich das verstanden habe, naja dann ist die Fehlermeldung verschwunden:
Zitat:
<?php header("Content-Type: text/html; charset=utf-8"); ?>
Um einen Header mittels PHP senden zu können, darf allerdings noch keine Ausgabe erfolgt sein, also macht man das am besten noch während des Programmsstarts.
|
allerdings hab ich mein � beobachtet, und das kommt bei jeder 10 aktualiesierung,
hat jemand eine Idee ?
Geändert von erniedd (17-09-2009 um 21:45 Uhr)
|

17-09-2009, 21:52
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von erniedd
allerdings hab ich mein � beobachtet, und das kommt bei jeder 10 aktualiesierung,
hat jemand eine Idee ?
|
Dann leere den Cache deines Testbrowsers.
(Auch so etwas, womit Newbies scheinbar nie klarkommen, und dann einfach alte angezeigte Cache-Kopien von Ressourcen für tatsächliche "Fehler" im gerade ausgebesserten Script halten.)
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

17-09-2009, 22:07
|
|
erniedd
Registrierter Benutzer
|
|
Registriert seit: Mar 2009
Beiträge: 51
|
|
cache geleert und sogar neustart, die � bleiben hartnäckig
|

17-09-2009, 22:09
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von erniedd
cache geleert und sogar neustart, die � bleiben hartnäckig
|
Dann liegen deine Daten vermutlich nicht in UTF-8 vor, obwohl das behauptet wird ... kannst du ganze bitte mal online zeigen?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

17-09-2009, 22:22
|
|
erniedd
Registrierter Benutzer
|
|
Registriert seit: Mar 2009
Beiträge: 51
|
|
|

17-09-2009, 22:42
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.328
|
|
Der Text ist nicht UTF-8 sondern ISO-8859-1.
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|