software, software.db, software.java

JSP – MySQL Türkçe Karakter Probleminin Çözümü

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");
Standard

3 thoughts on “JSP – MySQL Türkçe Karakter Probleminin Çözümü

  1. nuri kartal says:

    Çözüm için teşekkürler işe yarıyor .. fakat request nesnesi ile alınan tüm stringlerin verdiğiniz kod parçasından geçirmek ne kadar uygulanabilir? Daha genel bir çözüm olabilir mi?

    • Bana küçük bir yerde lazım olduğu için bu şekilde işimi halletmiştim. Bütün siteyi/portali bu şekilde yapmak performans açısından doğru değil; ancak daha ötesini araştırmadım.

      • nuri kartal says:

        teşekkürler 🙂 herkese yararlı olabilecek bilgiler paylaşıyorsunuz başarılarınız devamını dilerim.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s