Umlaute und €

wachteldonk

Erfahrenes Mitglied
ich erhalte statt

a äöü @

das heir

a öäü �

nach einer Übertragung per AJAX

Wenn ich das damit codeire

$text = iconv("UTF-8","latin1",$text);


werden Umlaute korrekt in meienr Datenbank gespeichert aber das Euro Zeichen wird verschluckt:( Was mach ich falsch?
 
Hi,

latin1 (ISO-8859-1) enthält das Eurozeichen nicht. Wohl aber die Windows-Latin Codetabelle cp1252. Besser wäre, wenn Du die Datenbank gleich auf UTF-8 umstellst, oder wenn das nicht geht, dafür sorgst, dass Deine Anwendung Daten in Latin empfängt und ausliefert.

LG
 
Hallo,

im Header hae ich von

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

auf

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

Die Datenbank steht auf utf_unicode_ci

und ich bekomme immer noch diese merwürdigen zeichen per ajaxformular:( Das Eurozeichen verschluckt er immer noch beim konvertieren aber warum muss ich jetzt noch immer

$text = iconv("UTF-8","latin1",$text);

nutzen damit er wenigstens die umlaute korrekt anzeigt?

ich benutze einen aktuellen Firefox


hier nochmal der html header

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://
www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>##PROJEKTNAME## ##SYSTEMVERSION## - ##REG_FIRMA##</title>


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

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

machst Du ein SET NAMES 'UTF-8' in Deinem Script? Setzt Du auch den Content-Type-Header im PHP-Script? Irgendwas muss da noch auf Latin stehen.

LG
 
as meinst du mit set names?

und ich habe in dem erste includierten file das gesetzt

header('content-type: text/html; charset=utf-8');

include("../includes/config.sys.inc.php");
include("../includes/config.inc.php");
include("../includes/class/user.class.php");


Das reicht doch? oder muss ich jetzt jedes file einzeln damit bestücken?
 
Welchen Query?

Ich habe das mal aus dem Netz gesucht

mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");

jetzt klappts beim schreiben(und das auch ohne konvertierung ) in die db aber das lesen geht immer noch nicht. Also er liest die daten wieder unkonvertiert und das euro verschluckt er nach inconv
 
Zurück