title: Alter user password via jdbc. Problems with passes containing question marks
body: <p>I have a problem with altering a users password when the password contains a question mark char. I do not encounter this problem with any other char so far, it seems specific to the question mark char.</p>
  
  <p>If i alter a users password in sqlplus using the following sql:<br>
  <code>
  Alter user Stephen identifed by "NewPassword?" REPLACE "OldPassword";
  </code><br>
  Then it changes the pass successfully and I can login using the new pass 'NewPassword?'.</p>
  
  <p>However if I execute the same SQL via jdbc:<br>
  <code>
  final String query = "ALTER user Stephen identified by \"NewPassword?\" REPLACE \"OldPassword\"";<br>
  stmt.executeUpdate(query);
  </code><br>
  I then cannot log in using the pass 'NewPassword?'.</p>
  
  <p>Checking the hashcodes for the password when entered via sqlplus and jdbc show that they are different.
  Somehow when I run the statement in jdbc it is entering something other than 'NewPassword?'.</p>
  
  <p>I don't seem to have any problems with the following passwords:
  NewPassword, NewPassword\, NewPassword'. It just seems to be the question mark that is causing problems.<br>
  Debugging shows the code point (dec) is 63 for the question mark so it doesn't look like its being changed midway.</p>
  
  <p>Does anyone have any idea what could be causing this behaviour?
  I'm at a loss at the moment, I'm considering preventing passes with question marks to bypass this problem for now.</p>