解决乱码有几种方式:
在读取数据库的时候设置连接编码:mysql_query("set names utf8");
在读取数据库的php文件的头部加:header("Content-type:text/html;charset=utf-8");
php文件不是utf8格式的编码,需要转化。用notpad++文本编辑器打开php文件,点击菜单中的“格式”,查看是否是“以utf8 无bom格式编码”,不是的话请转成此格式。
html格式的在头部加上:<meta >
你看看你的是哪一种情况,都对比做的一下,还不行在问我。
SET character_set_client = utf8;
SET character_set_results = gb2312;
SET character_set_connection = utf8;
如果上边的不行,还可以改成Gbk。总以根据你的数据的文字编码改成相应的编码类型就ok了。给出Gbk的代码:
SET character_set_client = gbK;
SET character_set_results = gbK;
SET character_set_connection = utf8;
但是重启SQL之后又不行了。
action是get还是post、、 get的话好像头部设置一下编码方式就可以了、contentType="text/html;chartset=GBK" pageEncoding="GBK" post的话在处理页面写上、<%requestsetCharacterEncoding("GBK"); %> 实在不行就弄个filter吧、、给你个代码、、去琢磨琢磨、、、这个是servlet、public class SetCharacterEncodingFilter implements Filter { protected FilterConfig filterConfig = null;
protected String encoding = ""; public void destroy() {
thisencoding = null;
thisfilterConfig = null;
} public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
requestsetCharacterEncoding(thisencoding);
chaindoFilter(request, response);
} public void init(FilterConfig filterConfig) throws ServletException {
thisfilterConfig = filterConfig;
thisencoding = filterConfiggetInitParameter("encoding");
}
}
这个是webxml配置、<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>y2sshsgcommonSetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/</url-pattern>
</filter-mapping> 应该能看懂吧、、、、、、 祝你好运、、、、
以上就是关于php连接数据库插入数据后,mysql中查询汉字字符乱码全部的内容,包括:php连接数据库插入数据后,mysql中查询汉字字符乱码、如何解决sqlyog连接的数据库乱码的问题、myeclipse连接mysql数据库中文乱码问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)