JürgenSchilling

  EDV-Service | Fotografie | Fotoarbeiten   

 


 Home

 Black&White
 Fotogramme
 Infrarot
 Kategorien
 Lightbox
 Lochkamera
 Portrait
 

Advanced ___________

 Service:
 EDV-Manuals

 Belichtungszeitentabelle
 Schrauben u. Gewinde
 

 Einführung in die:
 Beurteilung v. Negativen
 Farbmischung
 Filmentwicklung
 Infrarotfotografie
 Blitzlichtfotographie
 
 Entwicklungszeiten:
 Agfa Rodinal
 Kodak D76

 Tiefenschärferechner:
 Komplex  Einfach


 Fotolabor


 Kontakt / Impressum

 
______

 Zähler:
 Bilder pro Gast
 Zugriffszähler

 myPHPadmin
 
B4YCounter

 Login  Logout
 
Files

 Alle Bilder als Link

Eine bestehende Webseite auf UTF-8 umstellen


Doch wozu ist das nötig?
Umlaute und Sonderzeichen werden nicht richtig dargestellt.

Es gibt viele verschiedene Zeichen-Kodierungen, die unterschiedliche Normungen haben. Doch viele dieser Zeichensätze haben das Problem, daß sie nur eine bestimmte
Menge an Teilmenge der auf der Welt bestehenden Zeichen darstellen können.
Die meisten (deutschen) Webseiten sind derzeit mit iso-8859-1 kodiert. Das reicht für gewöhnlich aus, wenn man deutsche Seiten schreiben will, denn
dieser Zeichensatz umfaßt alle Buchstaben, Zahlen und Sonderzeichen der deutschen Sprache.
Doch was macht man, wenn man nun z.B. chinesische Zeichen schreiben muß  Diese sind nicht im iso-8859-1 Zeichensatz vorhanden. Hier kommt UTF-8 ins Spiel, denn mit UTF-8 ist es möglich, die Zeichen jeder Sprache zu schreiben.


Bestehende Seiten umwandeln:

Unter Linux kann man beliebige Dateien mit einem Befehl von iso-8859-1 in UTF-8 umkonvertieren.
Dazu wechselt man in das Verzeichnis wechseln, in dem die Webseite liegt und gilbt folgenden Befehl ein:

find . -name '*.php' -exec recode latin1..u8 {} \;

Je nachdem, ob noch Dateien mit anderen Extensions existieren, ist das .php durch .html, .xhtml usw. ersetzen.

ACHTUNG: Nie Extensions von Binärdateien, wie z.B. Bildern, Videos usw. angeben. Diese so hiermit zerstört.

Soll von einem anderen Dateiformat als ISO-8859-1 zu UTF-8 konvertieren werden, ist in der Manualpage von "recode" nachzuschauen.

!!! Die Konvertierung darf nur 1x durchgeführt werden. Wird das Kommando auf Files angewendet, die bereits nach UTF-8 konvertiert wurden,
werden die Sonderzeichen zu "irgend etwas" umgesetzt !!!



Korrekten Meta-Tag setzen:

Damit die Browser wissen, welche Kodierung die Internetseite verwendet, gibt es ein bestimmtes Meta-Tag. Bei ISO-8859-1 lautete dies:


<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

Dieses mu?nun ersetzt werden durch:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

Das muß auf  jeder Seite gemacht werden, wo dieses Meta-Tag enthalten ist!


MySQL-Datenbestand
auf UTF-8 umstellen:


Damit man sich nicht die Mühe machen muß alle Datenbestände manuell konvertieren zu müssen, kann man dieses Script benutzen:
 

<?PHP
  $hostname = "localhost";      // Standard
  $database = "Datenbank-Name"; // ändern
  $username = "Benutzername";   // ändern
  $password = "Passwort";       // ändern
 
  mysql_connect($hostname, $username, $password);
  mysql_query("ALTER DATABASE $database DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci");

  $res = mysql_query("SHOW TABLES FROM $database");
  while($row = mysql_fetch_row($res))
  {
      $query = "ALTER TABLE {$database}.`{$row[0]}` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci";
      mysql_query($query);

      $query = "ALTER TABLE {$database}.`{$row[0]}` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci";
      mysql_query($query);
  }
?>


MySQL-Datenbank anweisen, UTF-8 auszuliefern:

Selbst wenn der Datenbestand nun in UTF-8-Kodierung vorliegt, liefert die Datenbank die Daten noch anders kodiert aus. Hier muß man der Datenbank sagen, wie sie die Daten ausliefern soll.
Dazu schickt man den Befehl :


SET NAMES 'utf8';

an die Datenbank und alles klappt wunderbar. Wenn man z.B. eine PHP-Datei für den Verbindungsaufbau zur Datenbank hat, empfiehlt es sich, diesen Befehl direkt nach Aufbau der Verbindung zu senden:

<?PHP mysql_query("SET NAMES 'utf8'"); ?>



Editor mit UTF-8-Unterstützung benutzen:

Alle diese Maßahmen nützen nichts, wenn man einen Editor benutzt, der keine Unterstützung für UTF-8 hat. Wenn man nun etwas an einer Seite ändert oder neue Seiten erstellt, müssen diese
auch wieder im UTF-8-Format abgespeichert werden.


Frontpage 2002 / 2003  anweisen ein Dokument als UTF-8 abzuspeichern:

Jedes Dokument, das <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> enthält , wird von FrontPage 2002 als UTF-8 verarbeitet. Das gilt auch, wenn es Byte-Sequenzen enthält, die in UTF-8 ungültig sind. Solche fehlerhaft codierte Zeichen erscheinen als ? im Quelltext.

Ohne meta-Element  schaltet FrontPage stets auf Windows-1252. (Sie können dies anhand der Schriftart in der HTML-Ansicht erkennen; bei Windows-1252 wird eine Festbreitenschriftart verwendet, bei Unicode-Codierungen eine serifenlose Schriftart.)




 
© 03.09.2009, Juergen Schilling