土耳其字符显示为'?'并错误地插入数据库。 我可以在phpmyadmin中更改文本并再次使其变为土耳其语。通过这种方式,一切都很完美。
我的编码过滤器:
private String encoding;
public void init(FilterConfig config) throws ServletException {
encoding = config.getInitParameter("requestEncoding");
if (encoding == null)
encoding = "UTF-8";
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain next) throws IOException, ServletException {
// Respect the client-specified character encoding
// (see HTTP specification section 3.4.1)
if (null == request.getCharacterEncoding())
request.setCharacterEncoding(encoding);
/**
* Set the default response content type and encoding
*/
response.setContentType("text/html; charset=UTF-8");
response.setCharacterEncoding("UTF-8");
next.doFilter(request, response);
}
public void destroy() {
}
我在localhost中没有土耳其字符问题。我只在www.gurkanilleez.com上看到问题。
答案 0 :(得分:0)
每个非英语字符的问号?可能发生了什么:
SET NAMES latin1
生效(默认,但错误)CHARACTER SET latin1
(默认,但错误)使用utf8而不是latin1。
对于JDBC,请在getConnection()调用中包含?useUnicode=yes&characterEncoding=UTF-8
。
在stackoverflow中有几个关于土耳其字符集问题的线程;读他们。
答案 1 :(得分:0)
由于我的声誉,我无法发表评论。我访问了你的网站,我看到了应该是土耳其人的角色。那么,没有问题或者?