HALLOW TO ALL !
I'M USING MYSQL5.5 , TOMCAT7 & JSP. IN MY BROWSER I'M SEEING GREEK CHARS BECAUSE OF UTF-8 ENCODING . WHEN I RETRIEVE DATA FROM DATABASE BY SELECT * FROM... THAT'S IS FINE BUT WHEN I SEE INTO DB I CAN'T SEE THEM IN THE RIGHT WAY AS I HAD INSERTED THAT.
I HAVE TRIED MY DB IN UTF8 AND THE CHARSET -COLLATES UTFGENERALCI I TRIED GREEK DB BY THE GREEKGENERALCI & GREEK CHARSET TOO .
THE SAMPLE CODE IS BELOW
DROP database IF EXISTS XXXXX ; CREATE DATABASE XXXXX DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8generalci; USE XXXXX;
CREATE TABLE dokimi
(
sid INT NOT NULL AUTO_INCREMENT ,
name VARCHAR(40) CHARACTER SET utf8 COLLATE utf8generalci ,
PRIMARY KEY(sid)
) DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8generalci;
String name = request.getParameter("n"); String sName = request.getParameter("e");
String connectionURL="jdbc:mysql://localhost:3306/XXXXX?user=userName&password=usersPassword&useUnicode=true&characterEncoding=utf8";
Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection connection = DriverManager.getConnection(connectionURL,"X","Y"); PreparedStatement ps = connection.prepareStatement("SET NAMES 'utf8'"); connection.prepareStatement("SET character_set_client=utf8"); String insertQuery="INSERT INTO dokimi (sid, name ) VALUES (?,?)"; ps.executeUpdate("SET CHARACTER SET 'utf8';"); ps = connection.prepareStatement(insertQuery); try { ps.setInt( 1 ,0 ) ; ps.setString( 2 ,( name.trim()+" "+sName.trim() ) ); int count = ps.executeUpdate(); out.println(count + "row(s) affected"); ps.close(); }catch (SQLException s){}
COULD PLEASE HELP ME SOMEBODY WITH THAT ?
JUST A SIMPLE EXAMPLE THAT WORK IN JSP,TOMCAT7,MYSQL5.5
THANKS A LOT !
Ads