Seite 1 von 1

Probleme mit Umlauten durch MySQL5

Verfasst: 13.07.2005 22:24
von Miasy
Hi,

ich habe folgendes Problem, ich nutze das phpBB auf einer
MySQL5 Datenbank. Leider werden sämtliche Umlaute
nicht Angezeigt, nachdem ein User einen Text gepostet hat und
man diesen sich im Forum anschauen möchte.

Ich konnte in Erfahrung bringen, das mein Webhoster
(Die MySQL5 Datenbank ist ausgegliedert bei einem kostenlosen Anbieter
untergebracht) ein "altes" MySQL API nutzt welches das in
MySQL 4.1 eingeführten Zeichensatz- und Kollation-Management
nicht unterstüzt. Somit werden alle Umlaute die von der Datenbank
zurück zum Browser kommen nicht korrekt Angezeigt.
Man hat mir eine alternative geboten um dieses Problem
auf der Clientseite zu lösen:

Code: Alles auswählen

<?php 
function cleanUmlauts($text) 
   { 
   $text = eregi_replace ("ä", "ä", $text); 
   $text = eregi_replace ("Ä", "Ä", $text); 
   $text = eregi_replace ("ö", "ö", $text); 
   $text = eregi_replace ("Ö", "Ö", $text); 
   $text = eregi_replace ("ü", "ü", $text); 
   $text = eregi_replace ("Ü", "Ü", $text); 
   $text = eregi_replace ("ß", "ß", $text); 
    
   return $text; 
   } 
?> 

Code: Alles auswählen

<?php 
echo cleanUmlauts($verstuemmelterText); 
?> 
Leider verfüge ich nicht über die erforderlichen PHP Kenntnisse
um zu wissen wie bzw. wo ich das nun in phpBB einbringe
damit mein Problem behoben ist.

Ich hoffe ihr könnt mir Helfen :grin:

Gruß

Miasy

Verfasst: 14.07.2005 15:36
von Miasy
huhu keiner da der mir helfen kann? :cry:

Verfasst: 15.07.2005 19:40
von Miasy
kann mir denn wirklich niemand helfen? :( :( :(

Bitte

Re: Probleme mit Umlauten durch MySQL5

Verfasst: 15.07.2005 20:36
von Christian_W
Versuch's mal so:

Code: Alles auswählen

----- öffne -----
includes/functions.php

----- finde -----
function get_db_stat($mode)

----- füge davor ein -----
function cleanUmlauts($text) 
   { 
   $text = eregi_replace ("ä", "ä", $text); 
   $text = eregi_replace ("Ä", "Ä", $text); 
   $text = eregi_replace ("ö", "ö", $text); 
   $text = eregi_replace ("Ö", "Ö", $text); 
   $text = eregi_replace ("ü", "ü", $text); 
   $text = eregi_replace ("Ü", "Ü", $text); 
   $text = eregi_replace ("ß", "ß", $text); 
    
   return $text; 
   } 


----- öffne -----
viewtopic.php

----- finde -----
	$message = $postrow[$i]['post_text'];

----- füge danach ein -----
$message =  cleanUmlauts($message);
Gruß Christian

Verfasst: 03.08.2005 10:02
von tost
Nach einem Backup werden bei mir komischerweise Dinge wie ö in der Datenbank schon als ö angezeigt.
Neue Beiträge, PN´s ... funktionieren aber weiterhin..

Ich müsste also entweder direkt in der Datenbank alles umwandeln, oder das irgendwie mit PHP hinbekommen.

Ich habe mal diese Modifikation versucht, aber es bewirkt leider nichts.
Ich sollte doch aber eigentlich genau das selbe Problem haben wie der TE, oder ?

tost