概述
项目场景:
在做c++服务器的时候,回发给网页的中文是乱码,明明在响应消息报头指定了text/plain; charset=utf-8。
更新,就是我错了。我指定的消息报头没有成功回发,导致乱码,而在html中增加<meta charset= “UTF-8”>恰好弥补了编码这一点。
经过实验,这两者有一个就可以保证中文显示正常,是或的关系。
1、响应消息报头指定了text/plain; charset=utf-8
2、在html中增加<meta charset= “UTF-8”>
问题描述
服务器回传给网页的html代码里的中文是正常的,
但显示出来就是乱码
原因分析:
总的来说就是服务器的编码方式和浏览器的编码方式不一致,在浏览器改变编码方式也可以解决问题,但我的谷歌浏览器没找到设置编码。主要还是想寻求一种通用的方法。百思不得其解,搜索引擎上也都是关于java的,有现成的函数很方便的解决,关于c++的极少。
解决方案:
不仅仅在响应消息报头指定编码方式,还要在html页面指定内容的编码方式。
可以在响应消息报头指定编码方式,也可以在html页面指定内容的编码方式。
添加如下语句,设置html的编码方式:
延申一下
在做的时候可能还会遇到这样的问题,url是中文怎么办?
URL 中的汉字默认是存为 Unicode 码,就是说浏览器发送给服务器的url中文是以Unicode 码存在的,其实就是浏览器地址栏输入的中文,看起来是中文,但按回车发起来就是unicode码了。
服务器接到之后,要先进行解码操作,将其转换为正常中文,才能完成索引。
如果需要将中文路径作为url,比如html中href=的指定,那么还需要将中文转换为Unicode 码进行返回。
因此,在访问带有汉字的文件时,应该在服务器回发数据给浏览器时进行"编码"操作,在浏览器请求资源目录的汉字文件时进行“解码”操作。
最后
以上就是谦让眼神为你收集整理的c++服务器回传给网页的中文是乱码项目场景:问题描述原因分析:解决方案:延申一下的全部内容,希望文章能够帮你解决c++服务器回传给网页的中文是乱码项目场景:问题描述原因分析:解决方案:延申一下所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复