I'm posting this as a last ditch effort to get this working or at least
find out what's going on and perhaps get a workaround if one exists.

Platform: Windows XP SP1
Database: MySQL 4.0.18
JDBC Drv: 3.0.11

History:
There is an existing website which uses ColdFusion/SQLServer. The owner of
this website used Microsoft Word to create some text and he pasted this
into a form field. This was inserted into the SQLServer database.

Now, Here is what I have so far:

1. ColdFusion/SQLServer - Original site. Data entered into a form and
inserted into the SQLServer Database. Retrieved with query and displayed on
page. Unicode characters are displayed as their proper symbols.

2. JSP/SQLServer - New Site. Retrieved the data from the SQLServer database
and displayed it. Same database as in #1. Same data and same query. This
also worked fine. Unicode was displayed as their proper symbols.

3. JSP/MySQL - Exported the data to an Access Database. Opened database in
Access to verify that the data and unicode were there. Unicode was
displayed as proper symbols in Access. Imported into MySQL. Used Navicat,
EMS MySQL Manager and SQLyog to view the data in MySQL.

Navicat displayed the unicode in the data as blocks.
EMS MySQL Manager displayed the unicode as their proper symbols.
SQLyog displayed the unicode in the data as blocks. Same as in Navicat.

So the data does contain non-Ascii characters and I'm assuming they are
unicode.

Now some further information of my setup.

Default charset on database: latin1
Table DDL:
CREATE TABLE `article` (
  `ID` bigint(20) NOT NULL auto_increment,
  `Author` varchar(150) NOT NULL default '',
  `Title` varchar(150) NOT NULL default '',
  `Body` longtext NOT NULL,
  `Date` datetime NOT NULL default '0000-00-00 00:00:00',
  `Category` char(2) NOT NULL default '',
  PRIMARY KEY  (`ID`),
  UNIQUE KEY `ID` (`ID`),
  KEY `Category` (`Category`)
) TYPE=InnoDB

The Body column is the column that contains the unicode data.
I am accessing the database from Java through the JDBC driver. My URL looks
like this:

jdbc:mysql://localhost/thedatabase?useUnicode=true&characterEncoding=UTF-8

I played around with this. If I leave off the useUnicode and
characterEncoding parameters what happens is all of the codes are just not
displayed at all. With the above URL they are displayed as ?s.

The JSP page encoding setting is set to UTF-8 which worked for when I was
accessing SQLServer through their JDBC driver. I have downloaded an ODBC
driver for MySQL so that I can try and see if perhaps it's the driver but
right now I don't have an application to test it yet and I'll need to
research to see how to do it in Java which would really allow me to test
it.

So I'm hoping someone can help me either figure out why it's not working as
I would expect. Also I'm open to suggestions on how to handle this on the
database/server side. Any alternate solutions have to be transparent to my
client who enters this data from a web form usually copy and paste from
Word.

Thanks in advance for any help.
-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Stormblade (Shaolin Code Warrior)
Software Developer (15+ Years Programming exp.)

My System: http://www.anandtech.com/mysystemrig.html?rigid=1683
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


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

Reply via email to