GVKun编程网logo

Python 使用PyMySql 库 连接MySql数据库时 查询中文遇到的乱码问题(实测可行) python 连接 MySql 中文乱码 pymysql库

3

在本文中,我们将为您详细介绍Python使用PyMySql库连接MySql数据库时查询中文遇到的乱码问题的相关知识,并且为您解答关于实测可行python连接MySql中文乱码pymysql库的疑问,此

在本文中,我们将为您详细介绍Python 使用PyMySql 库 连接MySql数据库时 查询中文遇到的乱码问题的相关知识,并且为您解答关于实测可行 python 连接 MySql 中文乱码 pymysql库的疑问,此外,我们还会提供一些关于ajax 中文乱码、ajax 取 JSON 中文乱码、Ajax 返回值 中文乱码 解决、Ajax以Post方式提交数据,中文乱码的有用信息。

本文目录一览:

Python 使用PyMySql 库 连接MySql数据库时 查询中文遇到的乱码问题(实测可行) python 连接 MySql 中文乱码 pymysql库

Python 使用PyMySql 库 连接MySql数据库时 查询中文遇到的乱码问题(实测可行) python 连接 MySql 中文乱码 pymysql库

最近所写的代码中需要用到python去连接MySql数据库,因为是用PyQt5来构建的GUI,原本打算使用PyQt5中的数据库连接方法,后来虽然能够正确连接上发现还是不能提交修改内容,最后在qq交流群中有网友说自己遇到这种问题都是使用第三方的方法来解决,于是我便想起了用 PyMySql 这个Python连接Mysql的库来进行实现,一切都很顺,但是只有到了中文内容的读取时总是出现各种乱码。

 

 

sql="select id, title, pub_date, pub_url from message_info"

cursor.execute(sql)

result=cursor.fetchall()

for each in result:
    each[1].encode(''latin1'').decode(''utf-8'')

 

上面的代码可以使查询到的 MySql 数据 中的中文不出现乱码。

 

也就是说 调用  pymysql  返回的 含有中文字符的字符串 这里是  each[1] ,   对它进行解码,用  latin1 进行解码,  然后使用  utf-8 再进行编码便可以得到正确的中文字符。

 

ajax 中文乱码

ajax 中文乱码

var data = "article.title="+encodeURIComponent(title)+"&article.content="+encodeURIComponent(content)+"&comment="+encodeURIComponent(comment)+"&reprint="+encodeURIComponent(reprint)+
"&categoryId="+encodeURIComponent(categoryId)+"&status="+encodeURIComponent(status); createXMLHttpRequest(); xmlrequest.open("GET","draft_save",false); xmlrequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xmlrequest.onreadystatechange = processResponse; xmlrequest.send(data);

ajax 取 JSON 中文乱码

ajax 取 JSON 中文乱码

Action代码

HttpServletResponse response = ServletActionContext.getResponse(); response.setContentType("text/html;charset=UTF-8"); PrintWriter write = response.getWriter();

Ajax 返回值 中文乱码 解决

Ajax 返回值 中文乱码 解决

/**
* 使用ajax检查用户是否存在
*/
public void checkUser(){

try{
System.out.println("userName="+user.getUserName());
HttpServletResponse response=ServletActionContext.getResponse();
response.setContentType("text/xml;charset=utf-8");
response.setHeader("Cache-Control","no-cache");

PrintWriter pw=response.getWriter(); //输出中文,这一句一定要放到response.setContentType("text/xml;charset=utf-8"),response.setHeader("Cache-Control","no-cache")后面,否则中文返回到页面是乱码 if(existUser.contains(user.getUserName())) { pw.print("存在"); }else{ pw.print("不存在"); } pw.close(); }catch(IOException e){ e.printstacktrace(); } } 前台: $.ajax({ type: "POST",url : "${contextpath?if_exists}/resource/cascade.action",data: {firstType:filrstTypevl},contentType:"application/x-www-form-urlencoded;charset=utf-8",dataType: "json",success: function(resp) { $("#secondType option").remove(); $("#secondType").append("<option value=''>--请选择二级分类--</option>"); alert(resp); $.each(resp,function(i){ $("#secondType").append("<option value="+resp[i].kdDetail+">"+resp[i].kdDesc+"</option>"); }); } });

Ajax以Post方式提交数据,中文乱码

Ajax以Post方式提交数据,中文乱码

困惑了好久才找到问题所在。

struts.properties文件的struts.i18n.encoding设置错了,不应该设置成GBK,而应按如下设置:

struts.i18n.encoding = UTF-8

因为Ajax的Post提交,是以UTF-8编码提交的。

关于Python 使用PyMySql 库 连接MySql数据库时 查询中文遇到的乱码问题实测可行 python 连接 MySql 中文乱码 pymysql库的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于ajax 中文乱码、ajax 取 JSON 中文乱码、Ajax 返回值 中文乱码 解决、Ajax以Post方式提交数据,中文乱码的相关知识,请在本站寻找。

本文标签: