I have a java application, want to insert arabic words to mysql database, my code looks like
Connection con = null;
String url = \"jdbc:mysql://localhos
You have to create your database as a UTF-8 table otherwise no matter what you add it will never be able to store it...
second you need to encode it before you save it, I like to use unicode... one thing about this is that if you have a column that specifies 32 length, you will have to increase that for unicode as a single character takes up 6 characters,
example
letter h appears as U+0068
@maerics I tried using PreparedStatement instead and SQL Injection attack is still able to be done, I think either am implementing the PreparedStatemnt wrong or your feed is incorrect.
add this variable after db variable declaration:
String unicode= "?useUnicode=yes&characterEncoding=UTF-8";
and then modify your line:
con = DriverManager.getConnection(url+db,"root","");
to
con = DriverManager.getConnection(url+db+unicode,"root","");
i faced the same problem but with Chinese data, and it is not only the UTF8 in the db connection is the solution you should also do this:
Ensure that your MySQL configuration encoding is defined correctly. Add these lines to either my.cnf "in the case if using linux" or my.ini "case you using windows"
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
character-set-server=utf8