Character set problem

Posted on 2006-11-02
Last Modified: 2008-02-01
porting an existing application to a new server with MySQL 5, when retreiving data from MySQL through Connector/J, I have encountered a weird problem: the character 0x92 (closing quote), which is correctly stored on the db, is retrieved by the jdbc driver as three characters: "’" (0xe2,0x80,0x99). The other characters, such as accenter letters, are retrieved correctly and rendered in html as ISO-8859-1.

I couldn't manage to figure out how to solve this problem in any way, so I decided make a text replace:


but it seems not to match the three character sequence correctly.

Can anybody help me with this, or better figure out how to solve the problem at its source?

Question by:fcanepa
  • 5
  • 2
LVL 86

Expert Comment

ID: 17859373
>>the character 0x92 (closing quote)

That's not part of the iso8859-1 character set

Author Comment

ID: 17859544
Yes, you are right. Anyway, in the old setup I didn't have to bother about character sets at all, and the character 0x92 (closing quote) was fetched correctly by jdbc and rendered correctly by apache.

But now I can't understand how to solve this strange problem. The character seems transformed in this utf-8-like three character sequence by the jdbc driver. I have logged the strings just as they are fetched from the db. If I utf-8 encode all the strings sent to the web page and set utf-8 encoding of the web page, this character will continue to give me problems, I think...
LVL 86

Expert Comment

ID: 17859545
Its Unicode code is U+2019 and your jdbc driver is reading in UTF-8
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

LVL 86

Expert Comment

ID: 17859577
The character is storable as UTF-8

Author Comment

ID: 17859677
You are right. If I log the strings immediately after fetching them from the db, also accented letters are in UTF-8. The problem is in how they are processed afterwards. I use Velocity template engine. I'll chech if it has some character set-related options. After merging the template the accented characters seems rendered as normal latin1 characters, while 0x92 is rendered as a '?'.
LVL 86

Accepted Solution

CEHJ earned 500 total points
ID: 17859760
You need to get Velocity using UTF-8. You can see from the 3-byte encoding that the right quote is treated correctly as UtF-8. Now you need Velocity to do so as well
LVL 86

Expert Comment

ID: 17859855

Featured Post

Active Directory Webinar

We all know we need to protect and secure our privileges, but where to start? Join Experts Exchange and ManageEngine on Tuesday, April 11, 2017 10:00 AM PDT to learn how to track and secure privileged users in Active Directory.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
netstat -ano | find "8000" and taskkill /f /pid 2984 3 84
fibonacci ten numbers 4 45
jboss wildfly 10.1 10 241
mysql jsp example issue 32 51
Introduction Java can be integrated with native programs using an interface called JNI(Java Native Interface). Native programs are programs which can directly run on the processor. JNI is simply a naming and calling convention so that the JVM (Java…
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
Video by: Michael
Viewers learn about how to reduce the potential repetitiveness of coding in main by developing methods to perform specific tasks for their program. Additionally, objects are introduced for the purpose of learning how to call methods in Java. Define …
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question