Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]6111[/thread]

Viereck statt Zeilenumbruch?



<< >> 9 Einträge, 1 Seite
ak47neu
 2004-03-02 17:24
#80482 #80482
User since
2004-01-07
15 Artikel
BenutzerIn
[default_avatar]
Hallo Leute,

ich stehe vor dem systembedingten Problem, wenn ich einen Text schreibe und den dann in eine MySQL DB übertrage lauter kleine Vierecke erscheinen. Ich fürchte fast das sollen Zeilenumbrüche sein.

Nun gut, meine Idee -> Ratzefummel -> weg damit:
Code: (dl )
 $Text =~ s/\ Viereck /\/g;

Mein Problem ist: wie finde ich die Definition des Zeichens heraus, bzw. gibts da eine Zeichensatz-Tabelle dafür.

ak47
[E|B]
 2004-03-02 17:29
#80483 #80483
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Ich würde so kryptische Zeichen erst gar nicht in die DB schreiben. Filter diese zuerst vorher, schreibe sie als Entity und dann erst in die DB. Dann gehst du sicher, dass alles korrekt geschrieben wird. (HTML::Entities)
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
Heromaster
 2004-03-02 18:13
#80484 #80484
User since
2003-08-05
220 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
$Text = $dbh->quote($Text);

oder:
Code: (dl )
$sql = $dbh->quote("INSERT INTO Tabelle (Text, Spalte2, Spalte3) VALUES($Text, $AndereVariable, $noch_eine);


Egal, wie es dann in deiner DB auch aussehen mag, der String kommt genauso wieder raus, wie vor $dbh->quote :)\n\n

<!--EDIT|Heromaster|1078244015-->
Derjenige, der zwei Hasen jagt, lässt einen zurück und verliert den anderen.
Rambo
 2004-03-02 18:54
#80485 #80485
User since
2003-08-14
803 Artikel
BenutzerIn

user image
erzeugen kann man dies kästchen mit ALT+0129
wei man sie weg bekommt&acute;oder mit ihnen arbeitet weis ich leider nicht. wenn du es weist sag bitte bescheid :-)

gruss rambo
DS
 2004-03-02 19:05
#80486 #80486
User since
2003-08-04
247 Artikel
BenutzerIn
[default_avatar]
Wenn das wirklich Zeilenumbrüche sein sollen, dann ist das eher ein "ALT+10 - Kästchen". ;)
Das ist der normale Zeilenumbruch unter Unix/Linux. Unter Windows ist der Zeilenumbruch \013\010, also quasi ALT+13 und ALT+10. Wenn du also einen Unix-Text und Windows anschaut und das Programm die Unix-Zeilenumbrüche nicht erkennt, dann siehst du so ein komisches Kästchen.

Lösung:
Das Ausgelesene mit $text =~ s/\n/\n/g "behandeln", das sollte die Zeilenumbrüche egal welcher Herkunft in diejenigen des aktuellen Betriebssystems umwandeln.
ak47neu
 2004-03-02 19:08
#80487 #80487
User since
2004-01-07
15 Artikel
BenutzerIn
[default_avatar]
ich habe herausgefunden, dass mein Mac bei jedem Zeilenumbruch zb. in BBEdit dieses Zeichen macht. Es handelt sich um ein "%C2" oder 0129, aber egal...

Zum Glück hat mir mein guter alter Netscape die Zeichen angezeigt, ich habe sie Kopiert und dann einfach in den Code gepastet und mit einem klassischen Lerrzeichen ersetzt. STRIKE!

Code: (dl )
1
2
          $Text =~ s/\/\ /g;
$Text =~ s/\ /\ /g;


Grüsse ak47neu
ptk
 2004-03-02 19:09
#80488 #80488
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[quote=Heromaster,02.Mar..2004, 17:13]
Code: (dl )
$Text = $dbh->quote($Text);

oder:
Code: (dl )
$sql = $dbh->quote("INSERT INTO Tabelle (Text, Spalte2, Spalte3) VALUES($Text, $AndereVariable, $noch_eine);


Egal, wie es dann in deiner DB auch aussehen mag, der String kommt genauso wieder raus, wie vor $dbh->quote :)[/quote]
quote sollte man nur in Ausnahmefaellen verwenden, besser ist es mit Platzhaltern zu arbeiten.
ak47neu
 2004-03-02 19:11
#80489 #80489
User since
2004-01-07
15 Artikel
BenutzerIn
[default_avatar]
Komisch, oben sind die Vierecke nicht zu sehen, aber wenn ihr den oberen Beitrag mit Antwort im Zitat betrachtet dann seht ihrs....
Was ein Kram, können die nicht alle den gleichen "carriage return" nehmen???
esskar
 2004-03-02 19:24
#80490 #80490
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
du könntest folgendes tun

Code: (dl )
$text =~ s!\r?\n\r?!\n!g;
<< >> 9 Einträge, 1 Seite



View all threads created 2004-03-02 17:24.