24

I would like to remove the character '�' from column

Column Name:

asds�dfgdfg

dfgwer�werwer

And Want to replace it with space

Column Name:

asds dfgdfg

dfgwer werwer

Nav Ali
  • 1,232
  • 6
  • 17
  • 26
  • actually its Column Data – Nav Ali Feb 14 '11 at 10:56
  • I want to replace that character with space using update query – Nav Ali Feb 14 '11 at 11:10
  • 3
    More often than not the � character isn't actually in your DB. It just means your software, using a specified character set, encountered an unrecognizable sequence of bytes in that charset, skipped processing and returned a � character to you. – Brian Duncan May 06 '14 at 21:31
  • see "black diamond" in https://stackoverflow.com/questions/38363566/trouble-with-utf8-characters-what-i-see-is-not-what-i-stored It does not talk about removing, but about preventing. – Rick James May 28 '22 at 19:15

5 Answers5

51

That is a Unicode replacement character. If this character is appearing in your table then it might be that you are issuing queries using the wrong character set. You should check the column character set, and you should also check the character set(s) of the connection(s) you use to issue queries. If there is a difference in connection character set between connections used to read and record data, or if there is a difference in expected character set between applications/scripts used to access the data, that would explain the presence of these characters.

If you just want to replace it with a space:

UPDATE myTable SET myColumn = REPLACE(myColumn, '�', ' ')
Hammerite
  • 21,755
  • 6
  • 70
  • 91
  • 1
    Just a note, be aware that sometimes you may have to first escape the character that you want replaced "\" : `UPDATE myTable SET myColumn = REPLACE(myColumn, '\\', '')` – Ray Dec 12 '12 at 16:51
16

Replace below characters

~ ! @ # $ % ^ & * ( ) _ +
` - = 
{ } |
[ ] \
: " 
; '

< > ?
, . 

with this SQL

SELECT note as note_original, 

    REPLACE(
        REPLACE(
            REPLACE(
                REPLACE(
                    REPLACE(
                        REPLACE(
                            REPLACE(
                                REPLACE(
                                    REPLACE(
                                        REPLACE(
                                            REPLACE(
                                                REPLACE(
                                                    REPLACE(
                                                        REPLACE(
                                                            REPLACE(
                                                                REPLACE(
                                                                    REPLACE(
                                                                        REPLACE(
                                                                            REPLACE(
                                                                                REPLACE(
                                                                                    REPLACE(
                                                                                        REPLACE(
                                                                                            REPLACE(
                                                                                                REPLACE(
                                                                                                    REPLACE(
                                                                                                        REPLACE(
                                                                                                            REPLACE(
                                                                                                                REPLACE(
                                                                                                                    REPLACE(
                                                                                                                        REPLACE(
                                                                                                                            REPLACE(
                                                                                                                                REPLACE(
                                                                                                                                    REPLACE(note, '"', ''),
                                                                                                                                '.', ''),
                                                                                                                            '?', ''),
                                                                                                                        '`', ''),
                                                                                                                    '<', ''),
                                                                                                                '=', ''),
                                                                                                            '{', ''),
                                                                                                        '}', ''),
                                                                                                    '[', ''),
                                                                                                ']', ''),
                                                                                            '|', ''),
                                                                                        '\'', ''),
                                                                                    ':', ''),
                                                                                ';', ''),
                                                                            '~', ''),
                                                                        '!', ''),
                                                                    '@', ''),
                                                                '#', ''),
                                                            '$', ''),
                                                        '%', ''),
                                                    '^', ''),
                                                '&', ''),
                                            '*', ''),
                                        '_', ''),
                                    '+', ''),
                                ',', ''),
                            '/', ''),
                        '(', ''),
                    ')', ''),
                '-', ''),
            '>', ''),
        ' ', '-'),
    '--', '-') as note_changed FROM invheader
Umar Adil
  • 5,128
  • 6
  • 29
  • 47
-1

Use this query to change the charset: SET CHARSET 'utf8';

sjas
  • 18,644
  • 14
  • 87
  • 92
Praveen D
  • 2,337
  • 2
  • 31
  • 43
-1

Execute below query to set charset

SET CHARSET 'utf8';
set names 'utf8'
Praveen D
  • 2,337
  • 2
  • 31
  • 43
-1

You Can Try this for multiple column

 UPDATE myTable
SET    myColumn1 = Replace(myColumn1, '�', ' '),
       myColumn2 = Replace(myColumn2, '�', ' '),
       myColumn3 = Replace(myColumn3, '�', ' '),
       ...; 
RF1991
  • 2,037
  • 4
  • 8
  • 17
  • 1
    This doesn't work. � if a representation of an unmapped character, it's not the REAL character. – fusion3k Feb 05 '16 at 12:02