作者:天使骨头_799 | 来源:互联网 | 2023-01-10 18:27
我需要在PHP 5.3网站上将
字符串中的表情符号(例如)转换为它们各自的HTML代码实体(例如😀
)。
我需要这样做,以便将用户输入正确存储在旧脚本MySQL数据库中,以便以后在显示给用户时正确显示。尝试直接从用户输入中保存表情符号时,它们被错误地保存为?
数据库中的表情符号。该旧脚本utf8mb4
在MySQL 中不支持(此解决方案失败),并且所有尝试转换其数据库,表和列的尝试utf8mb4
都没有 解决了这个问题,所以我剩下唯一可以确认的解决方案是将用户输入的Emojis转换为字符串形式的HTML代码实体,以将这些实体按原样正确存储在数据库中,以便在检索时将它们正确显示为Emojis。因为现代浏览器会自动将这些表情符号实体转换为表情符号字符。
我也尝试过此解决方案,但仅在5.4及更高版本中,它不适用于PHP 5.3。(我无法在此特定站点上升级到5.4,因为它所依赖的旧脚本仅在5.3中可用,并且在任何情况下都不能更改或升级。)
我也尝试过此解决方案,该解决方案可在PHP 5.3中使用,但是您不能将其仅作为特定的Emoji字符串提供给它,因此即使在PHP 5.3中也无法解决我的问题。
我只需要将Emojis转换为字符串即可,别无其他。(但是,如果不可能,那么我想我可以将其他HTML实体与之一起使用,例如&
to &
,但是我不希望这样)。
那么,如何在PHP 5.3中将字符串中的表情符号转换为它们各自的HTML代码实体,从而将类似的字符串this & that
转换为this & that 😎
?