php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 04-10-2006, 17:56
plastikbaum
 Registrierter Benutzer
Links : Onlinestatus : plastikbaum ist offline
Registriert seit: Aug 2005
Beiträge: 66
plastikbaum ist zur Zeit noch ein unbeschriebenes Blatt
Standard Sonderzeichen ersetzen, die denselben ASCII-Wert haben

Hallo,

nach einer notwendigen Umstellung auf UTF-8 habe ich nun Probleme mit einigen Sonderzeichen (bzw. sprachspezifischen Buchstaben), die sich im Quellcode befinden.

Als Beispiel wären die Zeichen 'Ä' und 'Č' (C mit einem umgedrehten Zirkumflex) zu nennen. Beide haben den erweiterten ASCII-Wert 196 (zumindest laut ord('Ä') und ord('Č')).

Die gesamte Ausgabe befindet sich in der Variable $seite. Nun möchte ich alle in $seite vorkommenden 'Ä' in '& Auml;' umwandeln (Leerzeichen ist aufgrund der Anzeige nur hier vorhanden). Also:
PHP-Code:
$seite str_replace('Ä''Ä'$seite); 
Das Problem dabei ist nun, dass auch das 'Č' umgewandelt wird. Jedoch nicht in ein einfaches 'Ä', sondern in 'Ä�', bzw. als Quellcode-Ansicht in '& Auml;& #65533;' ... Was das zweite Zeichen genau darstellt, kann ich leider nicht sagen.

Ob nun mit dem zweiten Zeichen oder ohne - der eigentliche Buchstabe (Č) ist nicht mehr vorhanden, sondern wurde kurzerhand in ein A Umlaut verwandelt.

Gibt es hierfür Abhilfe? Eine Funktion bzw. Möglichkeit, wirklich nur das Zeichen zu ersetzen, das man ersetzen will? Mit ereg_replace() komme ich auf dasselbe Ergebnis.

(Das händische Ersetzen der Umlaut-Zeichen im Quelltext selbst ist aufgrund einer Datenmenge von mehreren Hundert Dateien kaum machbar. Momentan arbeite ich mit PHP 5 auf Win, später läuft das jedoch unter PHP 4.1x auf Linux.)

Vielen Dank schon im Vorraus,

pb

Geändert von plastikbaum (04-10-2006 um 17:58 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 04-10-2006, 18:27
arkos
 PHP Senior
Links : Onlinestatus : arkos ist offline
Registriert seit: Feb 2003
Ort: hamburg
Beiträge: 1.015
arkos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ersetze doch in einem zweiten schritt:

& #65533; in & #268; damit sollte die darstellung wieder stimmen...
__________________
**********
arkos
**********
Mit Zitat antworten
  #3 (permalink)  
Alt 04-10-2006, 18:34
Slava
 PHP Senior
Links : Onlinestatus : Slava ist offline
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.589
Slava befindet sich auf einem aufstrebenden Ast
Standard

versuch bei pregreplace auch modifer "u" zu setzen, damit es als utf8 erkannt wird beachte aber dass "u" klein sein muss.
__________________
Slava
bituniverse.com
Mit Zitat antworten
  #4 (permalink)  
Alt 04-10-2006, 21:33
plastikbaum
 Registrierter Benutzer
Links : Onlinestatus : plastikbaum ist offline
Registriert seit: Aug 2005
Beiträge: 66
plastikbaum ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@arkos: Das wäre ein Zeichen. Es gibt aber viele Zeichen (die Seiten werden in insgesamt 17 Sprachen bestückt). Aber auch, wenn es nur eine Sprache wäre: Ich könnte zwar 65533 in 268 umwandeln - aber zuvor wurde ja schon mein Č in ein Ä umgewandelt ;)

@Slava: Da die Variable den gesamten HTML-Code beinhaltet, ist sie nicht UTF-8 - folglich lässt sich der u-Modifier nicht anwenden.

Allgemein: Ich kann die Zeichen mit RegEx problemlos umwandeln. Jedoch werden dann Zeichen, die aus der Datenbank kommen (= UTF-8), in komische Doppelzeichen umgewandelt (A1/4 usw.)
Mit Zitat antworten
  #5 (permalink)  
Alt 04-10-2006, 21:42
jmc
 PHP Junior
Links : Onlinestatus : jmc ist offline
Registriert seit: Mar 2006
Beiträge: 868
jmc befindet sich auf einem aufstrebenden Ast
Standard

ist das nicht ein fall für htmlentities()
Mit Zitat antworten
  #6 (permalink)  
Alt 04-10-2006, 22:53
Slava
 PHP Senior
Links : Onlinestatus : Slava ist offline
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.589
Slava befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von plastikbaum
[BAllgemein: Ich kann die Zeichen mit RegEx problemlos umwandeln. Jedoch werden dann Zeichen, die aus der Datenbank kommen (= UTF-8), in komische Doppelzeichen umgewandelt (A1/4 usw.) [/B]
diese komische Zeichen kann man wunderbar sehen, wenn man natürlich
ein passende header mit charset utf-8 sendet.
__________________
Slava
bituniverse.com
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:35 Uhr.