写爬虫是经常会遇到这样的问题,这种问题很显然是编码问题,解决的方法其实也不难。
你可以用下面的两个方法来解决你的编码问题:
第一种是,通过浏览器打开你写的html之后,找到浏览器中的文字编码修改,将编码改为Unicode编码,即可修复。
第二种方法是修改你的前端代码:在你的代码output_html方法中,规定网页的文字编码即可
首先,编码要设置好。
如果LZ是普通用户,按下图方法设置合适的编码,比如繁体中文、简体中文还有那个“其它”里面的utf-8编码,都试试,应该会有合适的:
但这样有个问题,每次打开这个页面都要选一次。
如果LZ是这个网页的开发者,记得把全站的编码统一下就OK了,如果是繁体,就全部设为繁体 big5,否则,整站文件的默认编码设为utf-8或gd2312,记得,只能选其中一个。
希望以上对LZ有帮助吧。
转换编码不能只改页面里的设置,还得把页面本身转成相应编码才行,两个地方统一才不会出现乱码。一定要有软件转换才好。
以我的经验,用记事本另存虽然也是一个方法,但是还是可能有部分出现乱码的,包括在dw软件里用‘修改’-‘页面属性’-‘标题/编码’里修改了编码,也有注释什么的成了乱码的情况
我一直用的是editplus软件,打开页面就能在右下角看见页面的真正编码,如果页面设置了utf-8的编码,而右下角显示的是ANSI,你可以双击那个显示编码的地方,会d出修改编码的对话框,修改一下就可以了。也可以点击‘文档-‘文件编码‘’-‘更改文件编码方式’来修改,还可以批量修改文件编码。个人觉得这个软件转换编码挺好的。
jsp提交数据有两种方式,一种是post,一种是get,两种不同的提交方式对中文的处理也不同。
post提交方式只需在servlet中设置好requestsetCharacterEncoding("编码集"); 注:编码集按照您的需求写,可以是UTF-8,也可以是GBK或GB2312
get提交方式则需要转码,因为tomcat服务器编码集为ISO8859-1,需要手动转码,下方代码是我个人编写的一个工具类,希望对你有帮助!另外jsp传递中文如果用get提交方式,在前台对中文也要
public static String returnNewString(String oldString){String newString="";
try {
newString = new String(oldStringgetBytes("ISO-8859-1"),"UTF-8");
} catch (UnsupportedEncodingException e) {
eprintStackTrace();
}
return newString;
}如既有可能有post提交方式,也有可能有get提交方式,可以采用修改tomcat的serverxml文件,或采用过滤器,修改serverxml文件方式为:<Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol=">
C>
一看你的CString就知道你用的是ANSI字符集,网路传输都是UNICODE字符集,需要将UNICODE转换为ANSI才行。
A2W()将char指针转换为WCHAR
W2A()将WCHAR指针转换为char
使用示例,将char型转换为WCHAR型。
#include <atlconvh>
USES_CONVERSION;
CString strFileName = _T("");
strFileNameFormat(_T("%s"),A2W(“char指针”));
以上就是关于python爬虫抓取到的数据用网页打开时是乱码,怎么解决全部的内容,包括:python爬虫抓取到的数据用网页打开时是乱码,怎么解决、网页显示乱码怎么解决、HTML页面为什么设置了UTF-8仍然中文乱码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)