php.de

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

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.07.2009, 23:36  
cra
Neuer Benutzer
 
Registriert seit: 22.07.2009
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
cra befindet sich auf einem aufstrebenden Ast
Standard UTF-8 nach ANSI

Hallo zusammen

Ich habe ein komplettes Portal, welches unter UTF-8 läuft (inkl. MySQL-DB). Nun habe ich das Problem, dass ich gewisse Daten, welche ich aus der DB aufbereite, in ein File schreiben muss, welches ANSI-Codiert ist.

Da PHP beim fopen ja standardmässig immer die selbe Codierung verwendet, wie das script in welchem es ausgeführt wird, wird das File dann als UTF-8 codiert.

Gibt es eine Möglichkeit, dieses beim schreiben schon auf ANSI zu coden oder aber es anschliessend zu konvertieren? Das Script auf ANSI umstellen steht leider nicht zur Diskussion, da weitere Teile in UTF-8 sein müssen.

Danke im Voraus
CRA
cra ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 22.07.2009, 23:41  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

utf8_decode() könnte hilfreich sein.

Oder die Datei utf8 beschreiben und anschließend mit einem Editor umcodieren.
Wolla ist offline   Mit Zitat antworten
Alt 22.07.2009, 23:44  
cra
Neuer Benutzer
 
Registriert seit: 22.07.2009
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
cra befindet sich auf einem aufstrebenden Ast
Standard

utf8_decode ändert doch "nur" die codierung des Strings ... wenn ich's anschliessend schreibe, hat das File dann doch wieder UTF8 als Codierung oder?

Editor ist leider etwas mühsam bei rund 10'000 Files am Tag und automatischem SSH-Transfer
cra ist offline   Mit Zitat antworten
Alt 22.07.2009, 23:48  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von cra Beitrag anzeigen
Editor ist leider etwas mühsam bei rund 10'000 Files am Tag und automatischem SSH-Transfer
Geh mit gutem Beispiel voran und schaffe einfach 10 Arbeitsplätze

Ich habs nicht probiert, aber wenn du utf8_decode($datenfeld) in die Datei schreibst, dann sollte das funktionieren.
Wolla ist offline   Mit Zitat antworten
Alt 23.07.2009, 00:33  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Davon mal abgesehen, dass eine Recodierung nach Ansi nur für einen begrenzten Zeichenraum moeglich ist. Viele Zeichen aus utf-8 gibt es in Ansi nicht. Und viele aus Ansi koennen in utf-8 auch in hoeheren Codebereichen alternativ gesetzt werden.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 23.07.2009, 00:35  
cra
Neuer Benutzer
 
Registriert seit: 22.07.2009
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
cra befindet sich auf einem aufstrebenden Ast
Standard

hm ... hast recht

In dem Fall schaut sich fwrite nicht den File-Type des Scripts an, sondern lediglich, was da für Daten ankommen.

Mein supa-dupa-script funktioniert auf jeden Fall (Script in UTF-8 gespeichert).
PHP-Code:
<?PHP
    $fp 
fopen("test.txt""w+");
    
fwrite($fputf8_decode("Just a test mit äöü"));
    
fclose($fp);
?>
Zieldatei enthält alles in ANSI

Danke dir.
cra ist offline   Mit Zitat antworten
Alt 23.07.2009, 00:37  
cra
Neuer Benutzer
 
Registriert seit: 22.07.2009
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
cra befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Davon mal abgesehen, dass eine Recodierung nach Ansi nur für einen begrenzten Zeichenraum moeglich ist. Viele Zeichen aus utf-8 gibt es in Ansi nicht. Und viele aus Ansi koennen in utf-8 auch in hoeheren Codebereichen alternativ gesetzt werden.
Das ist mir durchaus klar. In dem Text kommen lediglich Zahlen, Buchstaben und wenige Umlaute (was es halt so in Vor und Nachnamen gibt) vor.

Das ganze geht als EZAG (Zahlungsanweisung) an unsere Bank, welche kein UTF verkraftet "grml".

Aber wie oben erwähnt, sollte das so funktionieren.

Danke und Gruss
cra ist offline   Mit Zitat antworten
Alt 23.07.2009, 00:40  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Im Notfall kannst Du auch mal mb_convert_encoding testen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 23.07.2009, 00:50  
Erfahrener Benutzer
 
Benutzerbild von mermshaus
 
Registriert seit: 14.06.2009
Beiträge: 1.731
PHP-Kenntnisse:
Fortgeschritten
mermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz sein
Standard

Was ist denn "ANSI" in deinem Fall? ISO-8859-1 (8 Bit) oder ASCII (7 Bit)?

fopen dürfte übrigens mehr oder weniger stumpf byteweise einlesen. Das hat mit irgendeiner Kodierungseinstellung nur insofern zu tun, als dass die "Kodierung" eines Strings lediglich die Regel zur Interpretation seiner "binären Struktur" ist, also der Abfolge der Bits. utf8_decode interpretiert diese Struktur nach den UTF-8-Regeln und formt sie so um, dass sie den ISO-8859-1-Regeln entspricht. Aus PHP-Sicht bleibt der String-Inhalt aber immer eine Folge von Bytes.
mermshaus ist offline   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
[Erledigt] UTF-8 &amp; ANSI werden verschieden angezeigt, warum? AnnyKey HTML, Usability und Barrierefreiheit 8 11.05.2009 14:08
[Erledigt] Zeichensatz Konflikt... halskrause Datenbanken 20 29.01.2009 11:07
ANSI Text erstellen halskrause PHP Tipps 2008 11 14.10.2008 00:10
Daten aus 2 Tabellen zusammenfuehren, 1 ID >>> 10x amenhotheb Datenbanken 27 19.06.2006 09:42
[Erledigt] Konvertierung OEM ASCII zu Windows ANSI Zeichen PHP-Fortgeschrittene 5 12.08.2005 12:42

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php utf8 to ansi, php ansi to utf8, utf8 to ansi, utf-8 ansi, php ansi utf8, php utf8 ansi, utf-8 to ansi, utf8 ansi, php utf-8 ansi, php utf8 in ansi, utf8 to ansi php, php utf8 zu ansi, utf-8 nach ansi, php ansi, php utf-8 to ansi, ansi to utf8 php, ansi utf8, php fwrite ansi, utf-8 zu ansi, php utf to ansi

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:45 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