Paul Warner wrote:
Ok, here is an update.  I have now switched everything to UTF-8, database, 
application, jsp page.  I have added a tomcat filter that sets the request and 
response encoding to UTF-8  presumably before anything else sees the request 
(it seems to write to the log 10 times for each request).  I added the 
following code that processes all the fields before submitting to the database 
for update or insert.

Charset utfCharset = Charset.forName("UTF-8");
CharsetDecoder decoder = utfCharset.newDecoder();
CharsetEncoder encoder = utfCharset.newEncoder();
try {
      ByteBuffer bbuf = encoder.encode(CharBuffer.wrap(advertArr[i]));
      CharBuffer cbuf = decoder.decode(bbuf);
       advertArr[i] = cbuf.toString();
       //log.info(" after conversion: " + advertArr[i]);
} catch ( CharacterCodingException cce ) {
       log.info("character coding exception: " + cce.getMessage());
}

I tested as I added each of these elements.  The problem persists.  Same 
errors.  Same massive, horrific overwrite of the table on every update.  AND 
the data displayed in the browser has a garbage character in front of the £ 
sign.  Why????  All the books and internet pages I've looked at say this stuff 
should work.

By fiddling with the encoding settings I did achieve something.  Before 
switching everything to UTF-8, I explicitly set everything to ISO-8859-1 (since 
the £ sign is definitely included in ISO-8859-1), and for a while the update 
refused to do any rows at all, rather than overwriting them all.

Again, the update and insert statements work when pasted into the mysql command 
line utility.  A perl script brings up the data nicely, and does an update 
including a £ sign to just one row without a problem.

So, has anyone ever encountered this??  I'm going mad.

Turn on the querylog, and see what query mysql is actually getting.


--
Gerald L. Clark
Supplier Systems Corporation

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to