Issue
I have a form but every time I submit with Korean characters, it shows up in my phpmyadmin database as question marks or is extremely convoluted. I want to be able to submit entries in my MySQL database table using both latin and asian characters, also I'm using java in Eclipse.
I have already done the following:
added this in my
jsp
filescontentType="text/html; charset=UTF-8" pageEncoding="UTF-8"
modified Connector tag in my
server.xml
file to haveURIEncoding="UTF-8"
modified URL of connection
conn = DriverManager.getConnection("jdbc:mysql://localhost/login?useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8", "root", "");
added this is in my doPost method in Servlet that handles the form data
response.setContentType("text/html; charset=UTF-8");
and the following screenshots below. Many thanks in advance for any help.
Solution
I recommend you take everything out of the equation except the database to ensure the problem really is with the database. First examine the values in hexadecimal:
SELECT HEX(column_name) FROM table_name
If you see "3F" where you are seeing "?", then there is most likely a problem with the data coming from your web application (more help here in section A.11.2 like using SET NAMES
and changing the MySQL INI file). You should also try manually inserting hexadecimal into the database table and selecting it back both normally and as hexadecimal to ensure the data is going in and out correctly.
If you still suspect a database problem, ensure your table is encoding the character set (i.e. DEFAULT CHARSET) correctly, for example (or other examples):
SHOW CREATE TABLE table_name
Answered By - Danny Lacks
0 Comments:
Post a Comment
Note: Only a member of this blog may post a comment.