php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.06.2005, 20:44  
Gast
 
Beiträge: n/a
Standard Mehrsprachiges Newssytem (utf-8)

Hallo zusammen,

ich hoffe, dass ich hier nicht komplett falsch bin. Ist keine direkte Verständnis-Frage, sondern eher ein allgemeines Problem: Eine Seite, die ursprünglich nur zweisprachig (de/en) angedacht war, bekommt jetzt noch eine chinesische und eine japanische version. Soweit alles kein Problem.

Jetzt habe ich aber ursprünglich das damals eigentlich für den Zweck ganz feine Newssystem "Newswriter" (www.newswriter.info) eingesetzt. Das macht aber bei diesen Unicode-Zeichensätzen nicht mit. Dann hab ich erstmal versucht, einfach die wichtigsten Dateien (admin.php, index.php) utf-8 zu codieren - aber das war wohl leider nicht genug.

Da ich in dem Fall weder das Budget noch die Übung habe, mir jetzt eine komplett neue Lösung zu schreiben, bin ich nun also entweder auf der Suche nach einem bestehenden utf-8 codierenden News-Script oder einem Lösungsansatz für mein utf-8-newswriter Problem...

Ich weiß, das ist ne ziemlich breit angelegte Fragestellung, aber ich würde mich trotzdem über jeden Hinweis freuen!

Vielen Dank und viele Grüße,
Karsten
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 29.06.2005, 22:15  
Erfahrener Benutzer
 
Registriert seit: 19.10.2004
Beiträge: 498
marsch
Standard

Zitat:
Zitat von www.newswriter.info
Zus�tzlich basiert das Script auf .txt-Dateien
Na dann rubelst Du alle txt-Dateien auch mit einem kleinen PHP-Scriptle um...
PHP-Code:
#!/usr/bin/php -q
<?php

$dir 
'.';
$dh opendir ($dir)
    or die (
"Fehler beim Oeffnen von $dir...\n");
while ((
$file readdir($dh)) !== false) {
    if (
preg_match ('/\.txt$/i'$file)) {
        
$infile      fopen ($file"r");
        
$outfilename "$file.utf-8";
        
$outfile     fopen ($outfilename"w");
        if (
$infile and $outfile) {
            while (!
feof ($infile)) {
                
$line fgets ($infile1024);
                
fputs ($outfileiconv ("ISO-8859-1""UTF-8"$line));
            }
            
fclose ($outfile);
            
fclose ($infile);
        }
    }
}
closedir ($dh);

?>
Den Rest des Jobs kannst Du erledigen
__________________
Cheers, Marco
marsch ist offline   Mit Zitat antworten
Alt 30.06.2005, 12:30  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von marsch
Na dann rubelst Du alle txt-Dateien auch mit einem kleinen PHP-Scriptle um...
[...]
Den Rest des Jobs kannst Du erledigen
Na das würd ich total gern leider gibts davor noch ein paar Probleme, die ich grad nicht in den Griff bekomme...

Ich hab jetzt schonmal

- die admin.php utf-8 encoded (und sende hier als erstes auch einen utf-8 header)
- bei den Formularen (include\editfunc.inc.php, Zeilen 581 & 1282) die Angabe accept-charset="utf-8" hinzugefügt.
- das admin header-template utf-8 codiert und mit dem korrekten http-equiv Eintrag versehen: <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- das admin footer_template utf-8 codiert

Soweit kein Problem.. wenn ich jetzt aber die admin.php aufrufe, und beim Eingabeformular per copy & paste aus dem restlichen Auftritt (aus einen Browserfenster) ein paar chinesische Dummytextpassagen einfüge, sieht das alles noch fein aus:




wenn ich jetzt aber (innerhalb der admin.php) ein paar mal auf "weiter" klicke, um so zur Artikelvorschau zu gelangen, dann sieht die so aus:



Ich kann da leider weder utf-8 noch sonstwas erkennen... und wenn ich das Newswriter-Script richtig durchschaut habe, werden die Daten bis dahin auch nur per Post von admin.php-Aufruf zu admin.php-Aufruf übergeben (also noch nicht in einem Textfile gespeichert).

Woran könnte es aber dann liegen? Mir fehlt da grad einfach komplett der Ansatz...

Wäre Dir für jeden Tipp zutiefst verbunden

Vielen Dank auf jeden Fall schonmal für Deine Hilfe!
  Mit Zitat antworten
Alt 30.06.2005, 12:35  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

1) wo speicherst du es
2) kann man das encoding mal überprüfen ? url ?
-> wget
sendet er server auch den richtigen header und eben nicht nur über meta.
mfg
robo47
robo47 ist offline   Mit Zitat antworten
Alt 30.06.2005, 12:56  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von robo47
1) 2) kann man das encoding mal überprüfen ? url ?
Ich hab Dir mal ne PM mit den URLs geschickt...
  Mit Zitat antworten
Alt 30.06.2005, 13:29  
Gast
 
Beiträge: n/a
Standard

Hmmm... so sind wir der Lösung leider auch nicht näher gekommen... und mir fehlt ehrlich gesagt grad schlichtweg überhaupt ein konkreter Ansatzpunkt, an dem ich weitersuchen könnte...

Viellecht weiß jemand doch noch was? Vielleicht von den Profis?

Vielen Dank auf jeden Fall schonmal für Eure Hilfe - ist ja nicht selbstverständlich

Grüße,
Karsten
  Mit Zitat antworten
Alt 01.07.2005, 11:18  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php
// charset muss entsprechend ==> htmlentities($arg_str,ENT_QUOTES,'UTF-8');
$str_charset 'utf-8';

// WICHTIG: XHTML 1.0 verlangt Content-type: application/xhtml+xml
// Content-Type entsprechend UA/CLIENT was akzeptiert; siehe $_SERVER['HTTP_ACCEPT']
// IE (dummer Browser) => text/html
$str_ContentType 'text/html';

header('Content-type: .'$str_ContentType'.; charset='.$str_charset);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
:
:
<meta http-equiv="Content-Type" content="=<?php echo $str_ContentType ?>; charset=<?php echo $str_charset ?>" />
:
:
:
<form action="<?php $_SERVER["PHP_SELF"]?>" method="post" accept-charset="<?php echo $str_charset ?>">
:
:




?>
Ohne mich weiter mit den vorhergehenden Postings zu beschäftigen, wie gezeigt funktioniert es bei mir. Allerdings sind meine scripts.php - Dateien, und alles andere auch - besonders die Ausgabe-Dateien, alle in UTF-8 gespeichert.
  Mit Zitat antworten
Alt 01.07.2005, 12:24  
Gast
 
Beiträge: n/a
Standard

Hi Ulle,

ich hab mir das mal angeschaut - bis auf die strikte XHTML-Doctype-Definition hab ich das eigentlich auch alles drin.

Jetzt hab ich das Ganze aber mittlerweile so weit eingeschränkt, dass ich mir sicher bin, dass sich alles was mit dem neu Anlegen und Editieren von Artikeln zu tun hat, wirklich nur innerhalb einer Datei abspielt. Da die aber mehr als 1000 Zeilen umfaßt poste ich den Code hier mal lieber nicht, sondern verlinke einfach nur: http://www.karsten-hoffmann.com/utf-8/editfunc.inc.rar
(ja ich weiß - der code ist nichtmal ansatzweise objektorientiert und auch sonst sind eine ganze Menge Sauereien drin, die man niemals machen sollte... ist halt schon ganz schön alt und sowohl mein Kentnissstand, wie wahrscheinlich auch der des Autors hat sich inzwischen ein wenig verändert... Ich würd aber trotzdem gern einfach nur rausfinden, warum er hier die utf-8 Formatierung verhagelt...)

Vielleicht fällt Dir ja was auf den ersten Blick auf?
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MySQL: Datenbank-Design für mehrsprachiges CMS dr.e. Tutorials 9 27.05.2008 23:38
Newssytem duderino PHP Tipps 2004 10 02.08.2004 15:07

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php utf-8 mehrsprachig, <html xmlns=\http://www.w3.org/1999/xhtml\ xml: mehrsprachige webseite chinesisch, mehrsprachig news scripts, php mehrsprachige news, news scripts mehrsprachig, /usr/bin/php utf-8, php download script utf-8 header, newswriter charset, newswriter admin.php, $header(content-type= \'.$str_contenttype\'; charset=\'.$str_charset\');, /usr/bin/php http utf-8, uft-8 new line php

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:56 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.