Schrift
[thread]5677[/thread]

Sonderzeichen



<< |< 1 2 3 >| >> 26 Einträge, 3 Seiten
jan10001
 2003-08-31 22:05
#82430 #82430
User since
2003-08-14
962 Artikel
BenutzerIn
[default_avatar]
In meiner Datenbank speichere ich die Sonderzeichen mit, nun habe ich aber folgendes Problem. Um Sonderzeichen in der URL zu vermeiden codiere ich diese so z.B. aus Thüringen wird Thueringen. Später lese ich aus der URL das Thueringen wieder ein und ersetze ue durch ü, was scheinbar auch geht. (Wenn man print glauben kann.)
Nur bei der Abfrage der Datenbank findet er Thüringen nicht?
renee
 2003-08-31 22:22
#82431 #82431
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Zeig mal ein bischen Code...

nomral müsste es so gehen:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
my $user = 'test';
my $pass = 'passwd';
my $host = 'localhost';
my $db = 'datenbankname';
my $driver = "dbi:mysql:$db:$host";
my $dbh = DBI->connect($driver,$user,$pass) or die $DBI::errstr;
my $string = 'Thueringen';
$string =~ s/ue/ü/g;
my $string = $dbh->quote($string);
my $test = $dbh->prepare("SELECT * FROM table WHERE zeile=$string;");
....
$dbh->disconnect();
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
jan10001
 2003-08-31 22:44
#82432 #82432
User since
2003-08-14
962 Artikel
BenutzerIn
[default_avatar]
Es waren die Anführungszeichen hatte stattdessen ' :
Code: (dl )
my $test = $dbh->prepare('SELECT * FROM table WHERE zeile=$string' );
Dubu
 2003-09-01 00:58
#82433 #82433
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Noch ein Grund, mit Platzhaltern zu arbeiten. ;-)
Strat
 2003-09-01 01:03
#82434 #82434
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=Dubu,31.08.2003, 22:58]Noch ein Grund, mit Platzhaltern zu arbeiten. ;-)[/quote]
Stimmt; der naechste ist der, dass man sich das $dbh->quote(...) erspart...
Ich sollte es mir auch langsam mal angewoehnen...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
macMeck
 2003-09-01 03:37
#82435 #82435
User since
2003-08-04
162 Artikel
BenutzerIn
[default_avatar]
Momentchen mal, aber einfach alle ue durch ü zu ersetzen ist vielleicht etwas "optimistisch". Was sind denn zürst oder Zürwerb fuer Woerter? Nur so als Gedankenanstoß.

macMeck
It all works, as long as it's documented!
jan10001
 2003-09-01 15:10
#82436 #82436
User since
2003-08-14
962 Artikel
BenutzerIn
[default_avatar]
Quote
Momentchen mal, aber einfach alle ue durch ü zu ersetzen ist vielleicht etwas "optimistisch". Was sind denn zürst oder Zürwerb fuer Woerter? Nur so als Gedankenanstoß.

Bei den Bundesländern gibt es da keine Probleme, bei den Städten hättest du recht. Die Lösung: In der Städte Tabelle wird neben den orginal Stadtnamen, zusätzlich auch die codierte Version gespeichert. Bei einer Abfrage werden dann beide Spalten überprüft, das heißt stimmt die codierte Version aber nicht die Orginalschreibweise fliegt es raus.\n\n

<!--EDIT|jan10001|1062414825-->
Crian
 2003-09-01 16:43
#82437 #82437
User since
2003-08-04
5872 Artikel
ModeratorIn
[Homepage]
user image
Schlechte Idee, wozu brauchst Du dann zwei Spalten?
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
jan10001
 2003-09-01 18:23
#82438 #82438
User since
2003-08-14
962 Artikel
BenutzerIn
[default_avatar]
Stimmt, bei ner falschen Rückumwandlung würde er einen Ort suchen den es nicht gibt und folglich nichts finden. Man bräuchte dann nur ne neue Abfrage laufen lassen.
Oh man, ich bin urlaubsreif. :)
renee
 2003-09-01 18:36
#82439 #82439
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=Strat,31.08.2003, 23:03][quote=Dubu,31.08.2003, 22:58]Noch ein Grund, mit Platzhaltern zu arbeiten. ;-)[/quote]
Stimmt; der naechste ist der, dass man sich das $dbh->quote(...) erspart...
Ich sollte es mir auch langsam mal angewoehnen...[/quote]
Das $dbh->quote(...); würde ich mir nicht unbedingt ersparen...

Wenn Du es nämlich so machst:
Code: (dl )
$dbh->prepare("SELECT * FROM table WHERE spalte='$wert';");
dann bekommst Du nämlich einen Fehler, wenn $wert ein ' enthält. Das kann Dir mit dem $dbh->quote(...) nicht passieren.
In meinem aktuellen Projekt habe ich die Vorteile von $dbh->quote(...) kennengelernt...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< |< 1 2 3 >| >> 26 Einträge, 3 Seiten



View all threads created 2003-08-31 22:05.