Font
[thread]5677[/thread]

Sonderzeichen



<< |< 1 2 3 >| >> 26 entries, 3 pages
jan10001
 2003-08-31 22:05
#82430 #82430
User since
2003-08-14
962 articles
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 articles
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 articles
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 articles
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 articles
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 articles
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 articles
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
5873 articles
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 articles
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 articles
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 entries, 3 pages



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