Portal > Foren > PHP > PHP-Programmierung > Geschützes Leerzeichen?
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 16.01.2008, 13:23 Nach oben    #1
Sven Schmalle
 
Benutzerbild von Sclot
 
Registriert seit: 18.08.2005
Ort: Bremen
Beiträge: 160
Standard Geschützes Leerzeichen?

Hallo

...und ein Frohes neues Jahr an alle, die ich noch nicht hatte

Ich habe grad das problem, das mir ein Polnischer kunde ein sonderzeichen in ein Formular eingegeben hat, mit dem ich nichts anfangen kann.

Es ist der HEX Code A0

Unter Google finde ich dazu nur das dies ein "Geschütztes Leerzeichen" oder auch "No-Break Space" sein soll.

Eingeben kann man dieses Zeichen mit dem Code ALT+0160

Gut, ich kann mir vorstellen, das das ein problem sein könnte, wenn ich ein ISO Formular habe und der Polnische kunde z.b. in UTF-8 rein schreibt.

Andererseits habe ich auch gefunden, das ein Bug in der Gecko-Engine des Mozillas mal damit zu tun hatte:

https://bugzilla.mozilla.org/show_bug.cgi?id=194498


Ja...
Ich weiss jetzt nicht was ich damit machen soll.
Letzendlich ist das Problem, das die Daten an einen anderen Provider weitergereicht werden und der noch weniger mit dem Zeichen anfangen kann und deshalb seine komplette Verarbeitung des Datensatzes abbricht.

Muss halt irgendwie auszuschliessen gehen das so etwas vorkommen kann.

Vielleicht doch endlich mal ne UTF-8 DB+Formular verwenden?

Jemand eine idee?
Sclot ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.01.2008, 15:02 Nach oben    #2
Martin Eisengardt
 
Registriert seit: 30.03.2006
Ort: Pfinztal
Beiträge: 355
Standard

Wandele es in ein normales Leerzeichen um. Das ganze hat den Sinn, Zeilenumbrüche zu verhindern. Besonders interessant wird es mit mathematischen oder logischen Ausdrücken, die man in einen normalen Text so dahinschreibt. Beispielsweise:
"Wir gehen davon aus, dass (a == b) ist."
Wenn du dies so in Word schreibst, dann kann es dir das in Klammern per Zeilenumbruch "kaputt" machen. Das geschützte Leerzeichen verhindert das.
__________________
Open Sourcing the Online Gaming Universe
PHP/SQL/Java/C++/Assembler.
Seit Jahren Mitglied und Entwickler in einem der wohl größten Java-Projekte der Welt: http://weblogs.java.net/blog/hansmul...e_desktop.html
mepeisen ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.01.2008, 15:11 Nach oben    #3
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.381
Standard

Also kurz zusammengefasst, ein 'normales' Leerzeichen, bei welchem aber kein Zeilenumbruch (im Gegensatz zum normalen) stattfinden kann?

Interessant!
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.01.2008, 15:17 Nach oben    #4
Sven Schmalle
 
Benutzerbild von Sclot
 
Registriert seit: 18.08.2005
Ort: Bremen
Beiträge: 160
Standard

ok...
wie umwandeln? :/


EDIT:

So:
PHP-Code:
$var str_replace(chr(hexdec(0xA0)),' ',$var); 

Geändert von Sclot (16.01.2008 um 15:30 Uhr)
Sclot ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.01.2008, 16:12 Nach oben    #5
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 597
Standard

Warum nicht gleich chr(32) ?
CIX88 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.01.2008, 17:01 Nach oben    #6
Sven Schmalle
 
Benutzerbild von Sclot
 
Registriert seit: 18.08.2005
Ort: Bremen
Beiträge: 160
Standard

weil ich nicht wusste das es 32 ist?


Edit:

...ah.. versteh schon... bin betriebsblind


PS: die Lösung kam vom robo47
Sclot ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.01.2008, 18:40 Nach oben    #7
Waq
Erfahrener Benutzer
 
Registriert seit: 18.08.2005
Beiträge: 108
Standard

Irgendwie versteh ich das Problem nicht. 0xa0 ist doch ein ganz normales Latin-1 Zeichen. Sogar in iso 8859-2 ist es an der gleichen Stelle.
Wenn sich irgendein Provider davon verwirren lässt, würde ich denen einen Bug-Report schreiben.
Waq ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.01.2008, 11:39 Nach oben    #8
Bastian Fenske
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 853
Standard

Das hexadezimale A0 entspricht dezimal 160 (nicht 32) und das entspricht, soweit ich weiß nicht nur in UTF-8 einem geschützten Leerzeichen, sondern auch in allen ISO 8859ern.

Macht also keinen Sinn, dass deswegen die Verarbeitung abbricht, es sei denn, es sind nur Zeichen des ASCII-Satzes erlaubt der ähnliches. Aber dann wärst du ja schon bei jedem Umlaut etc. an diese Grenze gestoßen.

Ich würde also mal bei besagtem Provider nachhaken, was es damit auf sich hat, welchen Zeichensatz er erwartet und warum er dieses Zeichen abweist.

Basti

PS:
Generell ist es natürlich empfehlenswert, alles in UTF-8 zu erledigen, aber so ganz hat das dann eben doch nicht immer hin (zum Beispiel palin/text-E-Mails, die von einigen MUAs/Webmailern falsch dargestellt werden, wenn sie in UTF-8 kodiert sind).
Basti ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

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 sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Leerzeichen und TAB im String web2 PHP-Programmierung 2 09.03.2007 11:07
Leerzeichen trennen String ! Jan PHP-Programmierung 23 19.05.2006 20:03
leerzeichen bei zeilenumbruch in einem string mr.no Allgemeine Java-Programmierung 13 09.01.2005 13:31


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:47 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45