Having Trouble Removing Hidden Character in SQL Data

When I run your statements on SQL 2016, I get different results

declare @string1 varchar(100) = 'Green  Hello world'
select charindex(' ',@string1,1) -- returns 6

declare @string2 varchar(100) = '?Green  Hello world'
select charindex(' ',@string2,1) -- returns 7

select ascii(' ') -- returns 32
select ascii('?') -- returns 63