一、乱码造成原因 - TOP
1、比方网页源码是gbk的编码,而内容中的中文字是utf-8编码的。这样浏览器打开即会出现html乱码。反之网页是编码utf-8。内容是gbk也会出现乱码。
2、html网页编码是gbk。而程序从数据库中调出呈现是utf-8编码的内容也会造成编码乱码。
3、浏览器不能自己主动检測网页编码,造成网页乱码。
二、解决乱码方法 - TOP
第一种。html网页源码编码与中文字输入编码不同。
解决方法:
使用软件进行编辑HTML网页内容,推荐使用DW软件进行HTML代码编辑和开发。
尽量不要直接使用记事本进行编辑HTML代码。
另外一种,假设网页设置编码是gbk的。而数据库储存数据编码格式是UTF-8的,这个时候程序查询数据库数据显示数据前进乡程序转码就可以。
比如PHP程序+mysql查询显示数据转码:
1、mysql_query("SET NAMES 'UTF8'"); //将查询数据转码为utf8,也就是转换为utf-8
2、mysql_query("SET NAMES 'GBK'");//将查询数据转码为GBK,如gbk2312
在写数据库连接文件时。写成:
- $conn = mysql_connect("$host","$user","$password");
- mysql_query("SET NAMES 'UTF8'");
- mysql_select_db("$database",$conn);
然后在做页面时,注意这句:
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
这样无论输入数据库的中文。还是页面显示。就都正常了。
在DW CS4版里。默认生成的也是utf8页面。
相同的。假设一開始写数据库连接文件时写成:
- mysql_query("SET NAMES 'GBK'");
那页面也要对应变成:
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
其他asp程序或其他程序语言站点依据实际情况到百度查询转换编码方法。
第三种。浏览器造成乱码。
这个可能是你网页没有设置meta charset编码造成。导致浏览器不能识别你网页默认编码类型。解决方法:
1、假设浏览器浏览时候出现网页乱码。在浏览器中找到转换编码的菜单。
在IE9浏览器中须要转码的网页空白出右键鼠标,就可以选择“编码”。
傲游浏览器中浏览须要转码的网页时,菜单“查看”-->“编码”就可以选择转换编码
谷歌浏览器中浏览须要转码的网页时,点击右上角“三横”图标选择“工具”-->“编码”就可以选择切换网页编码达到让浏览器浏览此网页不是乱码。
2、假设自己开发网页,必须网页增加meta charset编码标签。
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
或
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
假如转换时候。不是记事本编辑加入meta charset编码标签就完毕,这样相同会造成乱码,那是由于直接记事本加入或改动编码格式后,而相应Html超文本文档内容并没有随加入或改动编码格式而变化。这个时候须要真正意义上的转码,所以最好借助开发软件进行编码加入与改动。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架