如何从数据库记录中删除¶(pilcrow)符号

时间:2011-09-22 10:52:18

标签: mysql

我的目标是从数据库记录中删除¶(pilcrow)标志。有数以千计的记录,所以我不能手动完成。是否有任何脚本可以从MySQL数据库列中删除¶(pilcrow)符号?

2 个答案:

答案 0 :(得分:3)

UPDATE table1 SET myfield = REPLACE(myfield,'¶','') WHERE myfield LIKE '%¶%'

如果您想使用enter do替换

UPDATE table1 SET myfield = REPLACE(myfield,'¶','\n') WHERE myfield LIKE '%¶%'
-- linefeed
or
UPDATE table1 SET myfield = REPLACE(myfield,'¶','\r\n') WHERE myfield LIKE '%¶%'
-- cariage return+linefeed.

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_replace

确保连接和相关列的排序规则和字符集相同:

DESCRIBE table1;
--  copy the column charset and collation
SET NAMES '<insert charset name>' COLLATE '<insert collation name>';

现在重新运行查询。

请参阅:http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html

答案 1 :(得分:0)

这是我解决此问题的方式(是的,主要是死灵,但是,我发现了这个旧线程,所以其他人也可能!):

我直接使用phpMyAdmin编辑了该列,发现数据库显示了一个pilcrow(¶),但是它在后台存储了其他表示形式。在编辑值时,没有显示任何借方,只有回车。我选择了紧接在pilcrow之前的字符(该pilcrow是该列中的最后一个字符)之后的所有内容,并在查询中使用了该不可见的字符串,并且它起作用了。工作查询如下所示:

UPDATE myTable SET myCol=REPLACE(myCol,'
','') WHERE myKey>'myValue'

请注意,查询是一行代码,而不是两行。不可见的回车符只能使它看起来像两行。

我希望这对某人有帮助!我调查/尝试了许多其他建议,但没有一个起作用。