Two answers. First, change your columns to type text (the preferred type according to the postgresql docs) and reload your data into it.
The easy way is to use select into like so:
select bid, bbalance, filler::text as filler into ttt from branches;
The above example pulls all the data from the branches table built by pgbench into a new table called ttt. The original type is character(88) the new one is text.
the other way is to force the coercion on the fly during the comparison:
SELECT name, ic_code FROM user, iccolor
WHERE user.ic_color::text = iccolor.ic_code::text AND user.name = 'test';