php - 将 MySQL 数据库中的字符转换为标准字符

标签 php html mysql

我有一个包含一些文本 block 的数据库。这些文本 block 包含扩展字符,例如:’ ‘ … “ and ” 。当直接显示到网页时,它们都显示如下:�.

我尝试使用 str_replace 来显示普通字符,但没有成功。 我尝试过 iconv,它仅在设置为忽略时才起作用,这使得标点符号看起来错误。 我尝试过 html_encode,但也不起作用。 (我还使用 parsedown 脚本来格式化文本。)

有趣的是,我要替换的网站很好地支持这些字符,所以我不知道我做错了什么! (我无法访问该网站、源代码或数据库,这就是我要替换它的原因!)

谁能提供帮助吗?

我只想停止显示 � 并开始显示正确的字符!

最佳答案

感谢上面链接的文章,此问题现已解决。

我首先更改了所有表格的排序规则,如下所示:

Specify the utf8mb4 character set on all tables and text columns in your database.

然后在连接到数据库的 php 代码中,我添加了这一行:

$CONNECTION -> set_charset('utf8mb4'); 

所有问题都已解决!感谢所有为我的修复做出贡献的人!

关于php - 将 MySQL 数据库中的字符转换为标准字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32952656/

相关文章:

mysql - 为什么仅通过 Rails 中的套接字访问我的 Rails mysql 时会损坏?

php - Doctrine2 + Symfony2 序列 ID 表

mysql - 仅在使用 WHERE...IN 和嵌入式 SELECT 时获取第一行

php - 标准表单元素,MVC架构中代码放置的位置

php - 您建议在没有 MySQL 连接(解释器)的情况下对 PHP 数组执行 MySQL 查询吗?

php - Mysql CURDATE() 不适用于时间戳类型

PHP 脚本耗时太长并且超时

html - 形成多个步骤。一个或多个网页

javascript - 关于 Angular 2 - 从数组中提取变量(与前端 : html and component. ts 相关)

100%宽度水平渐变效果的HTML/CSS设计