如何处理 mySQL 查询中的特殊字符/ html 代码?

How can I deal with special characters/ html code in mySQL query?

我在 mySQL 查询中使用了一些 html 代码:

  GROUP_CONCAT(DISTINCT CONCAT("<i class=\'fa fa-circle-o\' style=\'color:",
  CASE
     WHEN animals.color = "red" THEN "#62bbd1"
     WHEN animals.color = "blue" THEN "#e9a5a9"
     WHEN animals.color = "orange" THEN "#ca6073"
     WHEN animals.color = "yellow" THEN "#c5b454"
     ELSE "#b7b7b7"
     END,"\'></i> ",animals.name) 
  ORDER BY FIND_IN_SET(animals.color,"red,blue,orange,yellow,black") ASC, animals.name ASC SEPARATOR " <br>") AS animals, 

一切正常。 但是当 animals.name 有特殊字符时,我遇到了问题。 例如:

James-Lauren
Eva 1:2
Margeret (coordinator)

这意味着我得到了正确的输出,直到那个带有特殊字符的单词。然后输出停止。

预期的输出是什么,你得到了什么?

请注意 GROUP_CONCAT 的最大返回字节长度由 group_concat_max_len 服务器系统变量决定。