栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c++服务器回传给网页的中文是乱码

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++服务器回传给网页的中文是乱码

项目场景:

在做c++服务器的时候,回发给网页的中文是乱码,明明在响应消息报头指定了text/plain; charset=utf-8。

更新,就是我错了。我指定的消息报头没有成功回发,导致乱码,而在html中增加恰好弥补了编码这一点。
经过实验,这两者有一个就可以保证中文显示正常,是或的关系。
1、响应消息报头指定了text/plain; charset=utf-8
2、在html中增加


问题描述

服务器回传给网页的html代码里的中文是正常的,

但显示出来就是乱码
原因分析:

总的来说就是服务器的编码方式和浏览器的编码方式不一致,在浏览器改变编码方式也可以解决问题,但我的谷歌浏览器没找到设置编码。主要还是想寻求一种通用的方法。百思不得其解,搜索引擎上也都是关于java的,有现成的函数很方便的解决,关于c++的极少。


解决方案:

不仅仅在响应消息报头指定编码方式,还要在html页面指定内容的编码方式。
可以在响应消息报头指定编码方式,也可以在html页面指定内容的编码方式。
添加如下语句,设置html的编码方式:

延申一下

在做的时候可能还会遇到这样的问题,url是中文怎么办?
URL 中的汉字默认是存为 Unicode 码,就是说浏览器发送给服务器的url中文是以Unicode 码存在的,其实就是浏览器地址栏输入的中文,看起来是中文,但按回车发起来就是unicode码了。

服务器接到之后,要先进行解码操作,将其转换为正常中文,才能完成索引。
如果需要将中文路径作为url,比如html中href=的指定,那么还需要将中文转换为Unicode 码进行返回。
因此,在访问带有汉字的文件时,应该在服务器回发数据给浏览器时进行"编码"操作,在浏览器请求资源目录的汉字文件时进行“解码”操作。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/983549.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号