转换符号(版权、法规等)


Converting Symbols (Copyright, Reg etc)

我正在尝试清理数据库输入,发现Ⓡ字符有问题。

Ⓡ 转换为

Ⓡ

即使变量周围有html_entity_decode。

这是一个问题,因为该字段只允许数据库中有4个字符。

®实际上有效,并被视为单个字符。

我也有同样的问题。

据我所知,它们只是html实体,因此应该进行解码。然而,它们甚至没有用htmlspecialchar()进行编码。它只是呼应代码

Ⓡ

PHP有任何内置函数来解决这个问题吗?感谢

编辑只是说我正在尝试做什么:

我有文本字段要输入并添加到数据库中,该数据库显示在下表中。当我输入任何其他字符时,如<>&,它作为一个字符直接进入数据库。

我正在努力使Ⓡ和''也总是作为一个字符(而不是6)出现。

我只是对表中的输出进行编码,这样某些字符就不会破坏网站。

使用html_entity_decode时实体不解码的问题可能是给html_entity_decode目标字符集仍然是默认的ISO-8859-1。ISO-8859-1不能编码"Ⓡ"(圆形字母R),但它可以编码"®"(注册标记)。

因此,首先,要正确解码:

html_entity_decode('&#9415;', ENT_COMPAT, 'UTF-8')

但第二,"Ⓡ"answers"®"不是同一个字符,你可能不想要"Ⓠ"。