# Fast alle \ verschwinden



## Samarek (10. Okt 2012)

Hallo zusammen,

ich hab da ein kleines Problem und zwar will ich mit diesem Statement

```
INSERT INTO bilder (bezeichnung, vorschau, pfad, kunde_id, kategorie_id)  VALUES 
('weiter testen', 'I:\__P\Bilddatenbank\Test\200x200.jpg', 'I:\__P\Bilddatenbank\Test', 3, 6)
```
einen Datensatz eintragen, allerdings kommt das hier



weiter testen      I:\__PBilddatenbankTest200x200.jpg     I:\__PBilddatenbankTest     3     6
in der Datenbank an.
Fast alle \ werden entfernt, ausser dem ersten.

Kann mir das vielleicht jemand erklären?


----------



## Fab1 (10. Okt 2012)

Hi,

versuch mal folgendes. Hier würdest du die 
	
	
	
	





```
\
```
 escapen. Könnte mir vorstellen, dass es daran liegt. 


```
INSERT INTO bilder (bezeichnung, vorschau, pfad, kunde_id, kategorie_id)  VALUES 
('weiter testen', 'I:\\__P\\Bilddatenbank\\Test\\200x200.jpg', 'I:\\__P\\Bilddatenbank\\Test', 3, 6)
```


----------



## Samarek (10. Okt 2012)

Ja, ich weiss dass ich es so lösen kann.

Ich möchte aber keine Lösung, ich möchte verstehen was da passiert, warum werden alle \ bis auf den ersten entfernt?


----------



## SlaterB (10. Okt 2012)

du möchtest Erklärungen für nicht-Java-Programme, ohne wenigstens die DB zu nennen?

MySQL :: MySQL 5.1 Referenzhandbuch :: 9.1.1 Strings


> Jede dieser Sequenzen beginnt mit einem Backslash (‘\’). Dieser wird häufig als Escape-Zeichen bezeichnet. MySQL erkennt die folgenden Escape-Sequenzen:
> [..]
> Diese Sequenzen unterscheiden die Groß-/Kleinschreibung. So wird etwa ‘\b’ als Rückschritt, ‘\B’ hingegen als ‘B’ interpretiert.
> [..]
> ...



/ ist für Verzeichnisse generell geeigneter


----------



## Samarek (10. Okt 2012)

Genau das


> Die Sequenzen ‘\%’ und ‘\_’ erlauben die Suche nach literalen Instanzen von ‘%’ und ‘_’ in Mustervergleichskontexten, in denen sie andernfalls als Jokerzeichen interpretiert würden.
> [..]
> Bei allen anderen Escape-Sequenzen wird der Backslash ignoriert. Das bedeutet, dass das gekennzeichnete Zeichen als nicht gekennzeichnetes interpretiert wird. So ist etwa ‘\x’ identisch mit ‘x’.



Danke.


----------

