hilfdirselbst.ch
Facebook Twitter gamper-media
« « 1 2 » »  
jrandi
Beiträge: 794
11. Jan 2005, 03:33
Beitrag #1 von 16
Bewertung:
(2616 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

datensätze wie z.b. L'Abbaye - backslash oder error


Hallo HDS !

Habe eine DB (table) welche westschweizer Gemeinden beinhaltet.

Gebe ich diese ein, wie sie heissen, also L'Abbaye u.a. so kommt beim der abfrage ein sql-error. (das apostrophe gefällt offensichtlich nicht. . .)

ok, also schreibe ich L\'Abbeye in die DB - nur auf dem Pulldown und auf dem Titel (der suchabfrage) erschein dann auch L\'Abbeye . . .
hingegen die abfrage klappt bestens, kein error.

man mache also bei der ausgabe (pulldown für abfrage und titel der abfrage)
$row->nom_commune = ereg_replace("L\'" , "L'" , $row->nom_commune);
$tpl->MxText("titre_commune",$row->nom_commune);

nur geht es leider immer noch nicht. . . ???

allerdings in der stastitik-abfrage, wo verfolgt wird, welche abfragen gemacht werden, ist wieder alles sauber. . .

code :
for($i=0;$i<$lignes;$i++) { // etc. . .
echo mysql_result($query,$i,"commune");

hat jemand eine idée ?? thx für tipps und tricks !
jurg
Top
 
X
Kusi
Beiträge: 1398
11. Jan 2005, 08:31
Beitrag #2 von 16
Beitrag ID: #135374
Bewertung:
(2616 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

datensätze wie z.b. L'Abbaye - backslash oder error


Hallo
Schau dir das da mal an:
http://ch2.php.net/...ion.htmlentities.php

Gruss
Kusi

http://www.k-k.ch
Grafik, Layout, Webdesign
als Antwort auf: [#135362] Top
 
ganesh  M 
Beiträge: 1981
11. Jan 2005, 11:36
Beitrag #3 von 16
Beitrag ID: #135428
Bewertung:
(2616 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

datensätze wie z.b. L'Abbaye - backslash oder error


http://ch2.php.net/...ion.stripslashes.php

Schau auch nach ob magic_quotes on oder off ist
http://ch2.php.net/magic_quotes
als Antwort auf: [#135362] Top
 
oesi50  A  S
Beiträge: 2315
11. Jan 2005, 11:44
Beitrag #4 von 16
Beitrag ID: #135434
Bewertung:
(2616 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

datensätze wie z.b. L'Abbaye - backslash oder error


oder das:

http://de.php.net/...ql-escape-string.php

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)
als Antwort auf: [#135362] Top
 
jrandi
Beiträge: 794
11. Jan 2005, 14:17
Beitrag #5 von 16
Beitrag ID: #135475
Bewertung:
(2616 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

datensätze wie z.b. L'Abbaye - backslash oder error


Besten Dank für Eure Inputs !

habe es jetzt so gelöst
while($row=mysql_fetch_object($query)) {
$liste_commune{$row->id_commune}= htmlspecialchars(stripslashes($row->nom_commune));
}

Nur eines nervt mich noch :
z.B. die Ortschaft L'Aabbaye wird am Schluss aller "L"-Gemeinden aufgeführt. . . erscheint mir nur halbwegs logisch.

Muss man damit leben oder gibt abhilfe - meiner meinung nach sucht man diese Ortschaft anfangs der "L"-Gemeinden. . .

thx und gruss
jurg
als Antwort auf: [#135362] Top
 
oesi50  A  S
Beiträge: 2315
11. Jan 2005, 14:36
Beitrag #6 von 16
Beitrag ID: #135489
Bewertung:
(2616 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

datensätze wie z.b. L'Abbaye - backslash oder error


wie wär's denn mit

SELECT .... ORDER BY ortschaft


Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)
als Antwort auf: [#135362] Top
 
jrandi
Beiträge: 794
11. Jan 2005, 15:46
Beitrag #7 von 16
Beitrag ID: #135503
Bewertung:
(2616 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

datensätze wie z.b. L'Abbaye - backslash oder error


natürlich arbeite ich mit ORDER BY, und alles sieht auch ganz schön alphabethisch aus. . . nur die Gemeinden mit "L'" reihen sich unbeeindruckt am schluss von L ein. . .

gruss
jurg
als Antwort auf: [#135362] Top
 
oesi50  A  S
Beiträge: 2315
11. Jan 2005, 16:53
Beitrag #8 von 16
Beitrag ID: #135519
Bewertung:
(2616 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

datensätze wie z.b. L'Abbaye - backslash oder error


kann es sein, daß Du den Backslash mitgespeichert hast?

L'Abbaye
LAbbaye
L\'Abbaye


schauen wir uns mal den ASCII Code an

' - 39
A - 65
Z - 91
\ - 92

Damit dürfte alles klar sein.


Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)
als Antwort auf: [#135362] Top
 
ganesh  M 
Beiträge: 1981
11. Jan 2005, 16:53
Beitrag #9 von 16
Beitrag ID: #135520
Bewertung:
(2616 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

datensätze wie z.b. L'Abbaye - backslash oder error


// edit:
ooops, ich glaub oesi ist der Sache näher :)
Ich habe eine kleine Test-Tabelle gemacht und alles geht wunderbar...


Vielleicht musst Du explizit irgendwo einen anderen ISO-Sprachcode definieren (für Tabelle, Feld oder ganze DB).

Versuch's mal mit COLLATE

http://dev.mysql.com/...n/Charset-table.html
http://dev.mysql.com/...Charset-collate.html
http://dev.mysql.com/...ollation-effect.html
als Antwort auf: [#135362]
(Dieser Beitrag wurde von ganesh am 11. Jan 2005, 16:57 geändert)
Top
 
jrandi
Beiträge: 794
11. Jan 2005, 17:43
Beitrag #10 von 16
Beitrag ID: #135535
Bewertung:
(2616 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

datensätze wie z.b. L'Abbaye - backslash oder error


@ ganesh : besten dank für die links. sieht interessant aus ;-) kannte ich überhaupt nicht. mal ausprobieren.

@ oesi : àhm, für mich nicht so klar ;-( Ja, der Backslash ist auch in der db abgespeichert - ohne backslash erhalte ich einen sql-error (und wenn ich die error-ausgabe sperre, so kommt einfach kein resultat, obwohl er eins ausspucken müsste).

wenn ich recht verstehe, müsste ich also "L'Abbaye" ohne backslash in die db schreiben - aber wie bringe ich dann sql dazu richtig zu ticken.

so sieht eine der abfragen aus. . .
$sql = "SELECT * FROM csp_commune ORDER BY nom_commune";
$query = sql($sql);
while($row=mysql_fetch_object($query)) {
$liste_commune{$row->id_commune}= htmlspecialchars(stripslashes($row->nom_commune));
}

gruss
jurg
als Antwort auf: [#135362] Top
 
oesi50  A  S
Beiträge: 2315
11. Jan 2005, 18:00
Beitrag #11 von 16
Beitrag ID: #135538
Bewertung:
(2616 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

datensätze wie z.b. L'Abbaye - backslash oder error


wir müssen da etwas früher ansetzen. Wie sieht denn der INSERT aus?

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)
als Antwort auf: [#135362] Top
 
jrandi
Beiträge: 794
11. Jan 2005, 18:12
Beitrag #12 von 16
Beitrag ID: #135548
Bewertung:
(2616 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

datensätze wie z.b. L'Abbaye - backslash oder error


gibt es nicht. habe die ortschaften mittels PhpMyAdmin z.t. per csv reingezogen und weitere neue selber eingetöggelt . . .

gruss
jurg
als Antwort auf: [#135362] Top
 
oesi50  A  S
Beiträge: 2315
11. Jan 2005, 18:44
Beitrag #13 von 16
Beitrag ID: #135555
Bewertung:
(2616 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

datensätze wie z.b. L'Abbaye - backslash oder error


Das kann damit zusammenhängen, daß bei deinem PHP 'magic_quotes' eingeschaltet ist. Damit fügt PHP in alle von außen übergeben Variablen automatisch einen Backslash ein.

es wird dir wohl nicht anderes übrigbleiben, als ein

UPDATE tabelle SET ortschaft=REPLACE(ortschaft, '\\', '');

drüber zu jagen.

(Das ist nur ein 'würg around', eigentlich sollte man das Problem dann noch grundsätzlich klären)

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)
als Antwort auf: [#135362]
(Dieser Beitrag wurde von oesi50 am 11. Jan 2005, 18:45 geändert)
Top
 
jrandi
Beiträge: 794
11. Jan 2005, 19:21
Beitrag #14 von 16
Beitrag ID: #135561
Bewertung:
(2616 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

datensätze wie z.b. L'Abbaye - backslash oder error


magic_quotes = OFF

--> UPDATE tabelle SET ortschaft=REPLACE(ortschaft, '\\', ''); ???

checke ich jetzt nicht. reden vom selben ? ich habe die Backslash ja nachträglich extra eingefügt, da sonst ein mysql-error.

zudem gibt es nur 4 Ortschaften welche eine Apostrophe im Namen haben, könnte das auch manuell wegmachen.

--> (Das ist nur ein 'würg around', eigentlich sollte man das Problem dann noch grundsätzlich klären)

z.B. solche ortschaftsnamen zu verbieten ;-) Muss mal abklären wie die Westschweizer diesbezüglich ticken. Könnte aus La Sarraz ja auch Sarraz La machen... dann müsste man das eben unter S anstelle L suchen.

mal sehen, soweit ist die DB eigentlich gut vorwärtsgekommen. morgen sollte ein feedback vorliegen. wenn man damit leben kann, dass L'Abbaye eben am Ende der "L" ist statt am anfang soll es mir auch recht sein. Im deutschsprachigen raum habt ihr jedenfalls eine kleine sorge weniger ;-)

besten dank nochmals - halte euch auf dem laufenden, wenn ich diesbezüglich noch änderungen vornehmen muss.
nächste schritt, wäre die links von ganesh genauer anzuschauen.

beste grüsse
jurg
als Antwort auf: [#135362] Top
 
oesi50  A  S
Beiträge: 2315
11. Jan 2005, 20:05
Beitrag #15 von 16
Beitrag ID: #135571
Bewertung:
(2616 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

datensätze wie z.b. L'Abbaye - backslash oder error


was steht denn im HTML code des select feldes drin?

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)
als Antwort auf: [#135362] Top
 
« « 1 2 » »  
X