Does oracle database have a mechanism to replace specific character when storing data
The database does not offer such an option that you asked for. 

It is the responsibility of the client/application to insert correct data into the database. 

If you want to change existing data, you can use the TRASNLATE function to replace each occurence of specific characters.

update table1 
set column1 = translate(column1, 'AB', 'XY')
where column1 != translate(column1, 'AB', 'XY');