Seite 1 von 1

sonderzeichen aus datenbank -> �

Verfasst: 01.01.2008, 21:12
von wurli
Hallo!
Bei einer meiner Seiten habe ich ein Problem mit Sonderzeichen Ö,Ü,ä,ß,... diese zeichen werden wenn ich sie aus der datenbank lese als � ausgegeben! in der datenbank stehen sie jedoch richtig!


hier ist mein header:
Code:

Code: Alles auswählen

<!doctype html public "-//W3C//DTD HTML 4.0 //EN"> 
<?php 
session_start&#40;&#41;; 
?> 
<html> 
<head> 
<meta name="keywords" content="" />    
<meta name="description" content="" /> 
<meta name="Page-Topic" content="" /> 
<meta name="robots" content="index,follow" /> 
<meta name="Language" content="DE" /> 
<meta http-equiv="Content-Language" content="de" /> 
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" /> 

<link rel="shortcut icon" href="/favicon.ico" /> 
<link href="style.css" media="screen" rel="Stylesheet" type="text/css" /> 
<title></title> 
</head> 
<body>

Verfasst:
von
Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

Verfasst: 01.01.2008, 21:29
von godzilla
Die Datenbank hat einen anderen Zeichensatz.
Vermutlich UTF-8.

Der Browser soll aber charset=iso-8859-1 darstellen.

Verfasst: 01.01.2008, 21:34
von wurli
danke godzilla, für deine antwort, ich habe es auch mit UTF-8 schon probiert, und es geht auch so nicht!

Verfasst:
von

Verfasst: 01.01.2008, 21:39
von wurli
MySQL-Zeichensatz: UTF-8 Unicode (utf8)
steht bei phpmyadmin nach dem einloggen auf der startseite!

Verfasst: 01.01.2008, 22:06
von godzilla
Wie kommt der text in die Datenbank?
Verm. über ein Formular, dieses Formular muss den gleichen Zeichensatz wie Die DB, und di ausgabe haben.

Hat z.B. die Eingabeseite iso- Zeichensatz werden die Formulareingaben in
ISO-codierter Form an die DB geschickt. Die DB speichert das ganze dann als UTF-8 ab = Zeichensalat.

Verfasst: 01.01.2008, 22:22
von wurli
ok, damit ich dich jetzt richtig verstehe:
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />
wenn beim eingabeformular, so wie hier iso-8859-1 steht, und die db aber utf-8 hat, ich jedoch wieder mit iso-8859-1 ausgebe, ist das falsch?

ich habe jetzt über phpmyadmin in die db gespeichert, und das wird aber auch falsch angezeigt! in der db stehts auch richtig drin!

worauf kommt es bei der db an?
es gibt ja:
MySQL-Zeichensatz: UTF-8 Unicode (utf8)
Zeichensatz / Kollation der MySQL-Verbindung: utf8_unicode_ci
und den der einzelnen spalten in der db: latin1_swedish_ci

in den metas sollte jetzt UTF-8 stehen?

Verfasst: 01.01.2008, 22:30
von godzilla
am coolsten:
Server UTF-8
Formulare UTF-8
Skripte UTF-8
DB UTF-8 sprich Verbindung, Zeichensatz und die Spalten
und die Ausgabe UTF-8

Oder du musst die Sonderzeichen des Input entsprechend codieren evtl. (HTML Codierung) natürlich je nach Sprachvielfalt.