出现乱码怎么办,解决乱码的方法一,出现乱码的原因分析

1,保存文件时候,文件有自己的文件编码,就是汉字,或者其他国语言,以什么编码来存储

2,输出的时候,要给内容指定编码,如以网页的形势输入时<meta http-equiv=”Content-Type” content=”text/html; charset=utf8″ />

3,从数据库取出数据时,搞不清楚数据库,设置的字符集

4,以汉字为例,汉字本来也有编码的,一个汉字gbk要二个字符,而utf8要三个字符

上面说了有可能引起乱码的潜在原因,我现在把它们排列组合一下。

第一种情况,保存文件和显示编码的不一致

假如保存文件时候,你用的utf8编码,网页输出时,你设置的是gbk编码,这样就会出现乱码,

第二种情况,保存文件和数据库的存储的字符不一致

假如,保存文件的编码和网页显示的编码一样时,还是出现乱码了,例如,你保存文件时,用的utf8编码,而你数据库用的是gb2312字符集来存储数据。

第三种情况,已经乱码了,你还认为没有

当你发现出现乱码时,去改变保存文件的编码的时候,utf8情况是好的,当你把它换成gbk的话就乱码了,但是你还以为是好的。这也是出现乱码的原因。这种情况会经常出现。

第四种情况,数据库里面本来就是乱码

数据的字符集,保存文件的编码,网页显示编码都一样了,还是出现乱码了,这种情况大多数,是数据入数据库的时候,就乱码了,这种情况是比较麻烦的。

二,我解决乱码的方法,百试不爽

我把这种方法起个名子叫庖丁解牛法。哈哈。数据库,保存文件编码,显示时候的编码必须一致,并且以数据库为准

第一种,数据库和保存文件的编码是utf8,网页显示呢是gb2312,这个时候,我们就要改显示编码了<meta http-equiv=”Content-Type” content=”text/html; charset=utf8″ />

第二种,数据库和网页显示都是utf8,保存文件用的是gb2312,这个时候呢,要注意一种,直接把保存文件的编码改过,是不行的,在改编码之前,把文件的内容先COPY一下,编码改过以后,在把刚才COPY的内容粘回去,这样就OK了.

第三种,数据库用的utf8,保存文件和显示编码是gb2312,这个时候呢,你可以用程序自带的函数把从数据库取出的数据进行一下转码把,utf8转成gb2312这样就不用去改变文件自己的编码了,以及显示编码了。以php为例,mb_convert_encoding($string,”gb2312″,”utf8″);

第四种,数据库乱码,是数据录入时候,数据本身和数据库存储编码不一样造成的。例如:数据库的存储编码是utf8,在数据入库的时候,加上一个mysql_query(“set names utf8;”);

三,乱码表现的形势

乱码的表现呢,我是遇到过二个,

1)就是出现在的字体乱码了,变成怪七怪八的字符了

2)就是直接是空白页面,查看源码呢,什么都没有,像这种情况,有的时候,很想起是因为是乱码造成的。右击页面在,查看属性,改一下编码就知道是不是因为乱码引起的空白页面了。

解决乱码的方法(转)相关推荐

  1. Python解决乱码万能方法以及一些个人思路_一蓑烟雨任平生

    文章目录 前言 一.乱码是什么 二.解决方法 1.第一种: 2.第二种: 第一步:查看网页编码 第二步:转换编码 总结 前言 最近粉丝在爬取文章时,总遇到乱码,而不知道该如何下手,这里就总结一下应对乱 ...

  2. Ajax中文乱码问题解决方法(服务器端用servlet)

    最近研究ajax,在界面上text中输入中文,发送出去后返回乱码.经过一个晚上的测试,已经得到满意答案,代码如下: HTML:     --     //实际上这里的charset=utf-8 也是可 ...

  3. JSP和Servlet的六种中文乱码处理方法

    一.表单提交时出现乱码: 在进行表单提交的时候,经常提交一些中文,自然就避免不了出现中文乱码的情况,对于表单来说有两种提交方式:get和post提交方式.所以请求的时候便有get请求和post请求.每 ...

  4. mysql 中日韩 乱码,mysql字符集乱码问题解决方法介绍

    character-set-server/default-character-set:服务器字符集,默认情况下所采用的. character-set-database:数据库字符集. characte ...

  5. 解决python中文乱码的方法

    解决python中文乱码的方法 参考文章: (1)解决python中文乱码的方法 (2)https://www.cnblogs.com/bobodeboke/p/11935876.html 备忘一下.

  6. 解决IDEA2020控制台乱码的方法(亲测)

    这篇文章主要介绍了解决IDEA2020控制台乱码的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 以前使用idea2019版 ...

  7. 两种解决Qt5显示中文乱码的方法(使用QStringLiteral和#pragma execution_character_set(utf-8)两种方法)

    两种解决Qt5显示中文乱码的方法(使用QStringLiteral和#pragma execution_character_set("utf-8")两种方法) 升级到Qt5.X之后 ...

  8. 解决文件下载在火狐浏览器出现中文文件名乱码的方法

    解决文件下载在火狐浏览器出现中文文件名乱码的方法 参考文章: (1)解决文件下载在火狐浏览器出现中文文件名乱码的方法 (2)https://www.cnblogs.com/zeng1994/p/739 ...

  9. HTML的Get方法URL传递中文参数,解决乱码问题

    HTML的Get方法URL传递中文参数,解决乱码问题 参考文章: (1)HTML的Get方法URL传递中文参数,解决乱码问题 (2)https://www.cnblogs.com/chenyucong ...

最新文章

  1. C#中对POP3邮件解码
  2. 从量子物理到AI医疗,这位清华博士后想用十年弥补病理医生的百年缺口
  3. Ubuntu tensorflow自定义GPU版本op节点
  4. MonogoDb学习笔记
  5. 用顺序栈实现十进制向二进制转化
  6. stm32 中bootloader、startup_stm32f10x_md.s的作用
  7. c语言全国二级考试全对,全国计算机c语言二级考试通用复习资料.doc
  8. Python回调函数
  9. mysql-5.6.17-win32的安装?
  10. 初一七年级计算机信息全册教案,新川教版七年级信息技术全册教案(全册)
  11. 如何获取 Process.Start 打开进程的输出结果?
  12. Maven打包时去掉项目版本号
  13. 学fpga(流水灯)
  14. sql 左联接 全联接_学习SQL:联接多个表
  15. robot frame基础知识--变量
  16. CSDN用户服务条款
  17. 路由器(Tenda 811R)变砖——修复
  18. 批处理调用devcon确保虚拟驱动设备只存在安装一次
  19. 苹果电脑表格取消自动计算机,苹果电脑excel序列被隐藏怎么办
  20. Revel框架快速入门教程

热门文章

  1. 会计学原理学习笔记——第三章——账户与复式记账(3.3生产准备业务核算——固定资产构建核算)
  2. 论文阅读:GMAN: A Graph Multi-Attention Network for Traffic Prediction
  3. SpringCloud搭建微服务之Hystrix熔断器
  4. 11.15-11.21【大学生Python学习】社区总结+优秀社区成员点名表扬技术书籍和CSDN定制背包奖励~
  5. 液晶显示器c语言编程,51驱动1602液晶显示器c程序
  6. 【人工智能项目】- 深度学习实现猫狗大战
  7. 【计算机网络】HTTP协议中post和get的区别
  8. ThinkPHP文件包含漏洞分析
  9. 基于APP Designer 实现串口数据监测功能App总结(2)——app设计
  10. C# 在win10/win11调用默认浏览器打开网页