php 如何强制UTF-8字符编码以避免显示和处理问题

j9per5c4  于 2023-01-29  发布在  PHP
关注(0)|答案(1)|浏览(145)

我最近更换了托管公司,并将whm和cpanel迁移到了新的主机上。使用WHM cpanel迁移工具移动到了新的服务器上。
立即注意到一些字符编码问题,并手动修复了mysql中的一些问题。这些问题在mysql phpmyadmin中并不能真正识别,但在网页上可以注意到,如内部带有?的黑色菱形。我们继续看到编码问题,其中一些是人们从word中剪切和粘贴,(不管我怎么要求他们不要这么做)我还注意到,用户通过我开发的内部应用程序从iPad输入数据,将数据发送到服务器,会导致不同的字符编码问题,我所有的mysql表都设置为utf8_统一码_ci
例如,在iPad上输入

Desc _. -  “. ‘ now

在mmsql中我看到

Desc _. -  â€œ. ‘ now

在网页上看起来还可以,但它会导致显示问题,在某些地方,如PDF生成器。
是Mac的问题吗?是Xcode的问题吗?在用PHP / MySQL添加或更新记录之前,我该如何纠正这个问题?

yebdmbv4

yebdmbv41#

使用INSERT utf8字符是可以的,但是你必须告诉 connection 客户端正在使用UTF-8,这是得到像“‘这样的Mojibake的主要原因。
是的,改变整个数据库可能是好的,而不仅仅是utf8,但是utf8mb4.How to convert an entire MySQL database characterset and collation to UTF-8?讨论了这一点。
这讨论了M9jibake的原因:Trouble with UTF-8 characters; what I see is not what I stored

相关问题