MYSQL:可以找到但不能替换损坏的字符

时间:2016-04-18 19:27:58

标签: mysql character-encoding

我有一个奇怪的问题,我可以查找我正在查找的损坏字符的字段,但使用REPLACE会影响零项:

下面的查询(%之后的损坏字符只能在Firefox文本字段中看到,而不是Chrome或Safari)WORKS并将返回超过一千条记录。

SELECT * from resource_data where value like '%';

但是,以下更新查询会影响ZERO项目,尽管它们具有完全相同的值。

UPDATE resource_data
SET value = REPLACE(value,'%','')
WHERE value like '%';

有什么想法吗?

仅供参考,以下是Firefox中的字符:notice the corrupt characters? That is what I am cutting and pasting into my query after the %

2 个答案:

答案 0 :(得分:0)

试试这个

UPDATE resource_data
SET value = REPLACE(value,'%','')
WHERE INSTR(value, '%') > 0

答案 1 :(得分:0)

如果在latin1中是十六进制 Cube cube1 = new Cube(); Scanner kb = new Scanner(System.in); System.out.print("Enter a height as a positive number"); double height = kb.nextDouble(); Cube cube2 = new Cube(height); System.out.println("Cube 1's volume = "+cube1.calcVolume()); System.out.println("Cube 2's volume = "+cube2.calcVolume()); .....//repeat for every instance method you have. ,...

查看是否获取行,更正:

1D

如果显示行,则考虑执行

SELECT REPLACE(value, UNHEX('1D'), '')
    FROM resource_data
    WHERE value LIKE CONCAT('%', UNHEX('1D'), '%');