2012-06-29 4 views
2

J'essaie de sauver une chaîne à une base de données, j'ai besoin des guillemets pour faire partie de la chaîne:cite Escaping

String password = "\"foo\""; 

J'attends la valeur dans la base de données pour être "foo" (citations incluses) Cependant, la barre oblique est également stockée. Est-ce que le slash devrait être juste un caractère d'échappement et ne pas être sauvé une fois compilé?

+0

Qu'est-ce que vous utilisez pour afficher la base de données? –

+0

essayez ceci: http://stackoverflow.com/questions/1878027/how-to-escape-quotes-characters-in-mysql-and-java – user820688

+0

De quel type de DB s'agit-il? Comment regardez-vous son contenu? –

Répondre

6

Cependant, la barre oblique est également stockée.

Pas dans la chaîne que vous avez posté ce n'est pas. La chaîne que vous avez mis en ligne a cinq caractères: il

" 
f 
o 
o 
"

Il se peut que ce que vous utilisez pour la voir montre les guillemets échappés afin qu'il soit clair qu'ils ne sont pas délimitant la chaîne.

Vous pouvez prouver comme ceci:

public class ShowString { 
    public static final void main(String[] args) { 
     String password = "\"foo\""; 
     int index, len; 

     for (index = 0, len = password.length(); index < len; ++index) { 
      System.out.println("[" + index + "]: " + password.charAt(index)); 
     } 
    } 
} 

Sortie:

[0]: " 
[1]: f 
[2]: o 
[3]: o 
[4]: "