Retrieve other language character from the MySQL database?

Recently, I surfaced a problem while printing the Japanese / Chinese scripts which I retrieve from the database.

This issue really bugged me for a week. After so much debugging I fixed the issue.

Actual root cause :

The text encoding failed in terms of handling the conversion of Japanese/Chinese script to a string and also the Database collation is set to Latin by default in MySQL when I created my schema, which does not accept such scripts to be entered.

FIX for this issue :

>> Change the default text/character encoding in IDE

Go to the eclipse IDE properties( File->properties or alt+enter ) and change the default text/character  encoding as shown below.


This is to ensure that all your text/string conversions are carried out using the specified encoding format


>> Include these parameters in JDBC connection parameters "useUnicode=true&characterEncoding=UTF-8"

EXAMPLE: String databaseUrl = "jdbc:mysql://"

This is to ensure that the SQL queries which are fired via the code also have the same encoding format.

Note: Use appropriate character Encoding formats as per your requirements


>> Finally change the corresponding column char-set/collation to the same encoding format (as shown below).

 Alter table

Either change the entire table char set/collation to respective formats

OR change the respective column’s char set/collation alone which is used to store such scripts or values

Print   Email