JSP ile MySql kullanıyor ve Türkçe karakter sorunu yaşıyorsanız; aşağıdaki adımlarla bu sorunu çözebilirsiniz.
Veritabanında Schema, Table ve Column bazındaki tüm Collation’larınız “utf8 – utf8_unicode_ci” olmalıdır.
JSP sayfalarınızın tamamında aşağıdaki Tag’lerden biri yer almalıdır:
<%@page pageEncoding="UTF-8"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
Veritabanı bağlantısını sağlayacağınız zaman, Connection String’inize aşağıdaki gibi karakter setini dahil edin:
jdbc:mysql://localhost:3306/db_name?useUnicode=yes&characterEncoding=UTF-8
Son olarak; özellikle Request / Response ile aldığınız Text’leri SQL sorgusuna dahil etmeden önce aşağıdaki kod ile dönüşümden geçirin (Gelen metin: Input, SQL’e gidecek metin: output):
byte[] bytes = new byte[Input.length()]; for (int i = 0; i < Input.length(); i++) bytes[i] = (byte) Input.charAt(i); String output = new String(bytes, "UTF-8");
Leave a Reply