Escaping Data to Prevent XSS When It Gets Stored

It seems to me that escaping data about to appear in a view in an
rhtml template using h / html_escape is further downstream than you
really want to be escaping certain data. Wouldn’t it make more sense
to escape data before you store it in the database? This way any
code that subsequently picks up the data doesn’t have to worry,
correct? Has anyone done this? Is there a reason you wouldn’t want
to escape the data prior storage?