Leide Thema Umlaute und Datenbank

service4-you

Mitglied
Hallo, ich habe , für mich nun das erste mal , das Problem mit den Umlauten und bekomme es einfach nicht in den Griff. Hatte es bis jetzt nie in den eigenen Scripten aber nun habe ich ein zugekauft und da ist es vorhanden.

Das 'ö' wird mit '%C3%B6' in die Datenbank geschrieben und total anders aus gegeben ( siehe http://www.findandflirt.de/chat-alle ). Die DB hat folgende Einstallungen :

MySQL-Zeichensatz: UTF-8 Unicode (utf8)
Zeichensatz / Kollation der MySQL-Verbindung: latin2 bin

Ich habe nun

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

in den Header eingesetzt und auch
PHP:
mysql_query('SET NAMES latin1');
hinter der DB Konfiguration. Mehr geht nimma, hat zufällig irgend jemand eine Idee

Für jeden Tipp bin ich dankbar

Grüsse aus Einsbach
-- Alf --
 
Sollte das nicht mirt einem einfachen htmlentities vor dem Schreiben in die DB gelöst sein?
MfG, Andy
 
Du solltest eine einheitliche Zeichenkodierung wählen. Ich rate dir zu UTF-8, da damit sämtliche Unicode-Zeichen kodiert werden können.
 
Danke @Gumbo und @Catull,

Du solltest eine einheitliche Zeichenkodierung wählen. Ich rate dir zu UTF-8, da damit sämtliche Unicode-Zeichen kodiert werden können.

Im MySQL-Zeichensatz habe ich es ja dann schon drin , habe es aber im "Zeichensatz / Kollation der MySQL-Verbindung" nicht gefunden.

Würde es dann so gemacht werden müssen ?

PHP:
mysql_query('SET NAMES UTF-8'); 
http-equiv="Content-Type" content="text/html; charset=UTF-8'">

Bin da leider noch nicht so fit drin und was hat es mit der Aussage von @Catull,auf sich.

Danke im voraus
 
Ich glaube ich habe das Problem gefunden, das Script kodiert die Eingabe bevor diese in die DB geschrieben wird. Ich bin in Java net so doll.

PHP:
mymessage = encodeURIComponent(element.value);

Nun weis ich das es bei Umlauten damit Probleme gibt, ist das richtig, gibt es da eine alternative ? Für jeden Tipp bin ich dankbar .

Grüsse aus Einsbach
 
Genanntes ist JavaScript, nicht Java! Aber wozu soll das gut sein beziehungsweise wobei verwendest du es?
 
Na ich ja net. Sorry hatte "script" dahinter vergessen. Ich versuche immer Barrierefrei zu programmieren also z.B. ohne Popups und JS, aber leider einige nicht und so der Programmierer von diesem Script. Dieser benutzt dieses um z.B. Sonderzeichen in URI's zu codieren z.B. für eine href-Anweisung. Aber das ist MIST ! Ich weis nun nicht wie ich dieses wieder raus schmeissen kann, denn wenn ich die Zeile lösche geht garnichts mehr.

PHP:
$(document).ready(function(){

$('form').submit(function(){

element = $('input[@name=input]').get(0);

mymessage = encodeURIComponent(element.value);

$.post('inc/chat.inc.php', {message: mymessage, usrid: <?php if($lg=="ok") echo $usrd[id]; else echo "0"; ?>});

element.value = '';

return false;

});

Oder wie man es so machen kann das auch Umlaute funktionieren *grrrrr*, ohne es in PHP um zu schreiben

Grüsse aus Einsbach
 
Hi,

Oder wie man es so machen kann das auch Umlaute funktionieren *grrrrr*, ohne es in PHP um zu schreiben

Wenn Sonderzeichen clientseitig für die Übermittlung kodiert werden, wirst Du nicht darum herumkommen, die serverseitig wieder zu dekodieren. In PHP kannst Du das mit [phpf]urldecode[/phpf] machen (Beispiel anschauen).
Wenn Du das Script gekauft hast, würde ich mich allerdings erstmal an den Hersteller wenden.

LG
 

Neue Beiträge

Zurück