2017-08-14 6 views
0

Je travaille avec Oracle SQL Developer et les requêtes que j'exécute sont bien imprimées dans sa console, mais pas dans la console Java non plus dans jsp.Les apostrophes renvoyées par la requête sql ne sont pas imprimées en Java

  • En mode de débogage (inspecter le mode ou varibles schede) semble-t même pas le caractère, il a montré les 2 mots ensemble.
  • Dans la console Java s'affiche sous la forme "?"
  • Dans la JSP comme '[0092]'. Pourrait-il être un problème d'encodage?

La requête est une sélection simple:

SELECT something, somethingElse FROM myTable where filter = 'someArgument'; 

Voici comment je récupère la valeur après executeQuery():

//here is already not being printed. But the jsp shows it as unreadable character. 
    resultSet.getObject(i).toString(); 

Voilà comment je l'ai mis dans le jsp:

J'ai essayé d'ajouter ceci à la JSP mais rien:
<%@ page language="java" contentType="text/html; charset=utf-8" %> 

Une idée?

+0

Pourquoi utilisez-vous 'getObject (i) .toString()' au lieu de 'getString (i)'? Mais oui, il semble que cela pourrait être une discordance entre les paramètres régionaux de Java et les paramètres de base de données/session. Vraisemblablement c'est une citation bouclée d'une certaine sorte (donné alors '[0092]', [celui-là?] (Http://www.fileformat.info/info/unicode/char/92/index.htm)), pas un normal '' '. Vous pouvez utiliser la fonction 'dump()' dans Oracle pour examiner la valeur et voir de quoi il s'agit réellement. –

+0

@AlexPoole J'utilise getObject (i) .toString() car j'utilise la méthode cointainer ce n'est pas fait par moi et je ne peux pas le modifier. J'ai donc vérifié la table de base de données, et vous aviez raison, il y a un accent ou quelque chose au lieu de ('). J'ai fait une mise à jour avec la bonne chaîne et fonctionne maintenant. Répondez à la question afin que je puisse marquer comme résolu. – tomyforever

Répondre

0

Il était mal écrit dans la base de données. C'était un accent au lieu d'une apostrophe