当前位置:网站首页>乱码解决方案
乱码解决方案
2022-08-04 05:25:00 【eleven_-11】
乱码解决办法
第一种 数据库中的数据乱码
问题重现
首先数据库连接工具使用的navicat
可以看到这里对数据库进行了utf8编码,即里面显示的数据编码是utf8

这里可以看到正常显示的文字编码格式就是utf8编码,乱码就不知道是什么最初未转码为utf8之前的编码格式了
测试乱码的编码格式
这里有一个测试乱码网站
http://www.mytju.com/classcode/tools/messyCodeRecover.asp
我们把乱码的字符串放上去检测
因为之前我们已经把所有的编码格式统一为utf8,所以现在测出来在windows-1252编码下是能够正常显示。
乱码处理
这里就采用哪个编码能够正常显示,就使用哪种编码格式
在查询数据库时候进行设置
mysql_query("SET NAMES 'UTF8'");
这样就固定了里面所有的字符编码为utf8,和navicat配置一致
public function codingConverter($sPendingCode)
{
$sOldStr = $sPendingCode;
$sNewStr = mb_convert_encoding($sPendingCode, 'WINDOWS-1252', 'utf8');
if (stripos($sNewStr, '?') === false) {
return $sNewStr;
} else {
return $sOldStr;
}
}
首先将所有的编码格式转化为windows-1252,如果之前的编码是utf8能够正常显示,那么转化为Windows1252则会损坏字符,变成????,这里就进行检测。
结论
针对于多个字符相互转换,且如果有的字符转换为utf8乱码,则采用把乱码的字符改为原有的编码格式,utf8字符保持不变。
边栏推荐
猜你喜欢
随机推荐
OpenRefine开源数据清洗软件的GREL语言
TensorRTx-YOLOv5工程解读(一)
EntityComponentSystemSamples学习笔记
JS基础--强制类型转换(易错点,自用)
4.3 Annotation-based declarative transactions and XML-based declarative transactions
What is the salary of a software testing student?
MySQL数据库(基础)
【论文阅读笔记】无监督行人重识别中的采样策略
字节最爱问的智力题,你会几道?
5个开源组件管理小技巧
Canal mysql data synchronization
编程大杂烩(四)
npm安装依赖报错npm ERR! code ENOTFOUNDnpm ERR! syscall getaddrinfonpm ERR! errno ENOTFOUND
TensorRT例程解读之语义分割demo
《看见新力量》第四期免费下载!走进十五位科技创业者的精彩故事
数的划分之动态规划
8.03 Day34---BaseMapper query statement usage
Camera2 闪光灯梳理
7.16 Day22---MYSQL (Dao mode encapsulates JDBC)
嵌入式系统驱动初级【4】——字符设备驱动基础下_并发控制


![Deploy LVS-DR cluster [experimental]](/img/ad/84e05a6421d668b0b6ba6eeba0c730.jpg)






