Java Servlet Türkçe karakter sorunu çözümü (Java Servlet Turkish character problem resolving)

Java Servlet ile çalışırken, siz gelen sorgular için ve sizden dönen cevaplar için Türkçe karakter sorunu yaşamamak için aşağıdaki gibi request ve response objelerinin özelliklerini değiştirmelisiniz.

Java Servlet’e gelen değerlerin Türkçe karakter sorununu çözmek için

request.setCharacterEncoding("UTF-8");

Java Servlet cevabında giden değerlerin Türkçe karakter sorununu çözmek için

response.setContentType("text/html; charset=utf-8");

Bu işlemlerden sonra hala görselinizde Türkçe karakter sorunu devam ediyorsa aşağıdaki bağlantı adresinden HTML ile ilgili Türkçe karakter sorunu çözümüne bakabilirsiniz.
HTML Türkçe karakter sorunu çözümü

Bir başka yöntem ise aşağıdaki Filter yazmanızdır.

package net.yazilimcity.myapp.core.servlet;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;

/**
 * Servlet Filter implementation class EncodingFilter
 * 
 * @author yazilimciry.net
 */
@WebFilter("/EncodingFilter")
public class EncodingFilter implements Filter {

	private String encoding = "utf-8";
	
    /**
     * Default constructor. 
     */
    public EncodingFilter() {
        // 
    }

	/**
	 * @see Filter#destroy()
	 */
	public void destroy() {
		
	}

	/**
	 * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
	 */
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
		// place your code here
		request.setCharacterEncoding(encoding);
		
		// pass the request along the filter chain
		chain.doFilter(request, response);
	}

	/**
	 * @see Filter#init(FilterConfig)
	 */
	public void init(FilterConfig fConfig) throws ServletException {
		String encodingParam = fConfig.getInitParameter("encoding");
		if (encodingParam != null) {
			encoding = encodingParam;
		}
	}

}
Share on Facebook0Tweet about this on TwitterShare on Google+0Share on StumbleUpon0Share on Reddit0

Leave a Reply


*