Friday, December 24, 2010

Tiếng việt Unicode UTF-8 khi dùng jsp + mysql

Bài này lấy từ forum của java vietnam có chính sửa thêm đôi chút, đã qua kiểm nghiệm, chạy hoàn tòan OK….
- Vì đây là ứng dụng Web nên phải đặt file mysql-connector-java-3.0.14-production-bin.jar vào thư mục WEB-INF/lib
- File : tiengviet.jsp

<%@page contentType="text/html;charset=UTF-8″ language="java" import=”java.sql.*”%>
<%response.setContentType(”text/html; charset=UTF-8″);%>



<% Connection conn = null; java.sql.Statement stmt = null; ResultSet rs = null; String loi = “”; String userName = “root”; // root là mặc định của MySQL. String password = “”; //pasword khi cấu hình MySQL. try {

String url = “jdbc:mysql://localhost:3306/testcainao?useUnicode=true&characterEncoding=UTF-8″;
//Lưu ý là chuỗi “?useUnicode=true&characterEncoding=UTF-8″ sau tên csdl là cần thiết.
Class.forName(”com.mysql.jdbc.Driver”).newInstance();
conn = DriverManager.getConnection(url, userName, password);
}
catch (Exception e) {
loi = “Driver sai “;
}
request.setCharacterEncoding(”UTF-8″); // Đây là câu lệnh quan trọng để lấy về dữ liệu
//dạng Unicode . Nhớ là phải đặt trước các câu lệnh nhận dữ liệu
//request.getParameter(); và câu lệnh này không được hiểu bởi các phiên bản cũ
//của tomCat , mình dùng jakarta-tomcat-5.0.28 .
String title = request.getParameter(”title”);
String content = request.getParameter(”content”);
String sql=”";
if (userName != null && password != null) {
try {
//ten bang cung nhu cac truong trong bang tuy thuoc vao ban !
sql=”insert into `testcainao`.`tablename2` ( `test1`, `test`, `id` ) values ( ‘” + title + “‘,’” + content + “‘, NULL )”;
stmt = conn.createStatement();
System.out.println(sql);
//insert into `testcainao`.`tablename2` ( `test1`, `test`, `id` ) values ( ‘N” + title + “‘,’N” + content + “‘, NULL )
stmt.executeUpdate(sql);
}
catch (SQLException es) {
es.printStackTrace();
loi = “Khong insert duoc”;
}
}
try {
String sql1 = “SELECT * FROM tablename2″;
stmt = conn.createStatement();
rs = stmt.executeQuery(sql1);
while (rs.next()) {
String titleOutPut = rs.getString(”test1″);
String contentOutPut = rs.getString(”test”);
%>

No comments:

Router Packet Networking

Đây là video ngắn khá hay, mô tả đường đi của một gói tin trên Mạng Internet.