• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage Die Kodierung passt nie

Andy Nagel

Mitglied
Hallo zusammen,

ich war schonmal auf der Suche nach Hilfe, da eine Seite nach Aufruf nur Hieroglyphen anstatt Umlaute anzeigt, anstatt Ihren Inhalt anzuzeigen. Denn das was Sie zeigt ist eine Fehlermeldung und bezieht sich auf die Parameter mit denen sie ihren Inhalt auswählen soll. Und man sagte mir damals das dass wohl daran liegen solle das dass wohl über mehrere Punkte geschehen würde.

Doch hatte ich es heute erleben dürfen, dass auf der Seite anstatt ein Umlaut ein Fragezeichen angezeigt wurde, aber die Seite aufgerufen wurde. Und ich bin im Besitz von 2 sqlite Anwendungen, die mir beide auch Fragezeichen zeigten und ich dann einfach mal diese durch ein Umlaut ersezte. Doch seitdem kann ich wieder solch eine Seite nicht mehr aufrufen.

Ein Programm bietet beim exportieren in den Advanced einstellungen die Möglichkeit utf-8 als Zeichenkodierung anzugeben, hängt sich dann aber auf. Und das andere Programm bietet die automatische utf-8 Kodierung, erlaubt aber nur das bearbeiten von 20 Datensätze und zu sehen war von beiden noch nix. Das einzige was zu sehen ist, sind die Probleme wenn es sich um eine sqlite 3 Datenbank handelt.

Doch wenn ich dann mit Hilfe einer utf-8 kodierten Datenbank eine mysql Datenbank aufrufe, sollte diese Datei dann doch auch utf-8 kodiert sein? Doch merkwürdigerweise zeigt der Datenbestand dann auch keine Umlaute mehr an, sondern nur mit charset=ISO-8859-1>

OK, und so würde ich mich über Hilfe sehr sehr freuen und würde über Erfolg sehr begeistert.

Auf jeden Fall schonmal vielen Dank und mit Gruß

Andreas
 
Werbung:
Ich verstehe ehrlich gesagt wenig von dem was du hier als Fragestellung schreibst.

Wenn es dir darum geht, dass alle Umlaute aus einer Datenbank korrekt angezeigt werden, achte auf folgende Punkte:
  • Die Datenbank muss im utf8-Zeichensatz erstellt worden sein.
  • Die Tabellen der Datenbank müssen mit dem gleichen Zeichensatz erstellt worden sein.
  • Die Spalten ebenfalls.
  • Beim Auslesen von Daten aus der Datenbank muss der Zeichensatz für die Verbindung übergeben werden. Wie das genau geht hängt von der eingesetzten Datenbank (MySQL, Oracle ..) sowie den eingesetzten Modulen zum Auslesen zusammen (z.B. PDO) und kann in deren Manuals nachgelesen werden.
  • Der darüber ermittelte Text sollte unverändert ausgegeben werden, wenn doch sollte der Zeichensatz beibehalten werden.
  • Wenn der ausgelesene Text über eine HTTP-Verbindung ausgegeben wird, sollte der Zeichensatz im HTTP-Header mitgegeben werden (Stichwort Content-type).
Wenn diese Tipps dir weiterhin nicht helfen, beschreibe in kurzen Worten deinen aktuellen Aufbau und zeige deine Quellcodes.
 
Jo OK

Also auf der Startseite befindet sich zuerst einmal folgender Code:

<!DOCTYPE html>

<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">

Und in einer verlinkten Funktionendatei:

function OpenLink(Link)
{
View = top.localStorage.getItem("ShowAllSubLinks")
top.frames['DatenFrame'].location.href = Link.getAttribute("Link") + encodeURIComponent("&sort=" + top.document.getElementsByName("SortEntry")[top.SortIndex].getAttribute("Sort") + "&sortindex=" + top.SortIndex + "&View=" + View)​
}

Und der Code in der aufrufenden Datei:

$Parameter = urlencode("b=".($i+2)."&index=$id&db=$DBName&table=$Table");
echo "<tr><td><a href='#' Link='$Datei?$Parameter' onclick='OpenLink(this); MenueUp($i-1); this.blur()' name='Eintrag' id='$id' class='Entries' onmouseover='this.focus(); top.EntryIndex = $(this).parent().parent().index()'>$Table</a></td></tr>";

Und mit dem sollen Datenbestände aufgerufen werden, was aber nicht funktionieren will. Denn wie bereits beschrieben werden nie Umlaute angezeigt.

Und könntest Du mir vielleicht auch ein Programm zum Umgang mit sqlite Datenban empfehlen?

Auf jeden Fall möchte ich mich schonmal bedanken.

Mit Gruß Andreas
 
Werbung:
Hallo,

In HTML5 macht man das so:
HTML:
<meta charset= "utf8">
Weiterhin müssen alle Daten und Datenverbindungen UTF8 kodiert sein.
D.h. auch die Verbindung mit der SQLite DB und die Datenhaltung darin.

In PHP-Scripten sollte zusätzlich zum HTML-Charset auch noch das gemacht werden:
PHP:
header ( 'Content-Type:text/html; Charset=utf8' );

Wenn Du an allen Stellen das korrekte hast und die Dateien auch, wie schon von @bdt600 erwähnt im UTF8 ohne BOM gespeichert hast, sollte es auch mit den SQLite-Daten passen.

Gruß Arne
 
Werbung:
Werbung:
Zurück
Oben