我正在尝试清理数据库输入,发现Ⓡ字符有问题。
Ⓡ 转换为
Ⓡ
即使变量周围有html_entity_decode。
这是一个问题,因为该字段只允许数据库中有4个字符。
®实际上有效,并被视为单个字符。
我也有同样的问题。
据我所知,它们只是html实体,因此应该进行解码。然而,它们甚至没有用htmlspecialchar()进行编码。它只是呼应代码
Ⓡ
PHP有任何内置函数来解决这个问题吗?感谢
编辑只是说我正在尝试做什么:
我有文本字段要输入并添加到数据库中,该数据库显示在下表中。当我输入任何其他字符时,如<>&,它作为一个字符直接进入数据库。
我正在努力使Ⓡ和\也总是作为一个字符(而不是6)出现。
我只是对表中的输出进行编码,这样某些字符就不会破坏网站。
使用html_entity_decode
时实体不解码的问题可能是给html_entity_decode
的目标字符集仍然是默认的ISO-8859-1。ISO-8859-1不能编码"Ⓡ"(圆形字母R),但它可以编码"®"(注册标记)。
因此,首先,要正确解码:
html_entity_decode('Ⓡ', ENT_COMPAT, 'UTF-8')
但第二,"Ⓡ"one_answers"®"不是同一个字符,你可能不想要"Ⓠ"。