HTML Generierung aus php5 mit UTF-8 Codierung

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Postby muecke06 » 23. May 2005 11:07

Hallo,

an eine solche Variante habe ich auch schon gedacht, wußte nur nicht genau wie es gemacht wird. Ganz komme ich auch mit dem Code nicht zurecht (<<<HEREDOC ....????). Aber das wäre nicht so wild, Hauptsache es funktioniert.

Kann es sein das der Code nicht ganz vollständig ist? Ich vermisse das Schließen der letzten php-Anweisung und das Schließen des Tag <head>.
Kannst du mal bitte den kompletten Code deines Beispielcode posten?

Danke
die muecke
muecke06
 
Posts: 9
Joined: 10. May 2005 13:35

Postby chrisb » 23. May 2005 11:53

muecke06 wrote:Hallo,

an eine solche Variante habe ich auch schon gedacht, wußte nur nicht genau wie es gemacht wird. Ganz komme ich auch mit dem Code nicht zurecht (<<<HEREDOC ....????). Aber das wäre nicht so wild, Hauptsache es funktioniert.

Kann es sein das der Code nicht ganz vollständig ist? Ich vermisse das Schließen der letzten php-Anweisung und das Schließen des Tag <head>.
Kannst du mal bitte den kompletten Code deines Beispielcode posten?


Hi,
HEREDOC: ein alter "Schmäh", ursprünglich von Perl -> siehe z.B. http://at.php.net/types.string
Ist aber nicht unbedingt nötig das zu verwenden, geht natürlich auch als String.
Der Code war als Beispiel gedacht und ist natürlich nicht vollständig ;-)

Dieser Code ist (hoffentlich) vollständig.

<?php
$header = "Content-Type: text/html; charset=UTF-8";
header($header);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
blablabla
</body>
</html>

Und bevor die Frage kommt, warum der header() nicht direkt gesetzt wird, sondern über den String $header, hier die Antwort: Ich habe es vor einiger Zeit getestet und festgestellt, dass es bei _manchen_ Browsern nur so funktioniert (hat). War damals PHP 4.3.1, Apache 2.0.48 ... wenn ich mich recht erinnere. Wahrscheinlich funktioniert es heute auch, wenn man man den header() direkt setzt ... musst Du halt ausprobieren.
(Gilt sinngemäss auch für die (damalige) Verwendung von <<<HEREDOC)

Gruss
C.
chrisb
 
Posts: 7
Joined: 06. May 2005 11:51

Postby muecke06 » 25. May 2005 12:52

Hallo,

hier mal der Code den ich nun verwendet habe:

Code: Select all
<?php  include("phpunits/serverconnect.php5");
  $SQL_auswahlmeta="SELECT * FROM meta WHERE lg='$lg'";
  $auswahlmeta=mysql_query($SQL_auswahlmeta);
  $datenmeta=mysql_fetch_array($auswahlmeta);
  $header = '"Content-Type: text/html; '.($datenmeta['zs']).'"';
  header($header);
?>

<html>
<head>
<title><?php echo ($datenmeta['title']) ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo ($datenmeta['zs']) ?>">
<meta name="Copyright" content="<?php echo ($datenmeta['copyright']) ?>">
<link rel="stylesheet" href="kopf.css" type="text/css">
<?  mysql_close; ?>
</head>


in $lg wird wird das kürzel der Sprache übergeben, danach holt sich die Seite die Daten aus den entsprechenden Tabellen zum Füllen des Kopfes.

$datenmeta['zs'] enthält das Charset, in diesem Fall bei der russischen Sprache utf-8.

Es funktioniert nach wie vor nicht. Die Anzeige sind nur Fragezeichen. Hat jemand noch eine Idee?

Gruß die muecke
muecke06
 
Posts: 9
Joined: 10. May 2005 13:35

Previous

Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 46 guests