OK, I thought I had ruled out the possibility that it was Dumper doing the encoding but looking at it again, I think you are right.
For now, I'm just storing the data in a file with Storable. The data will probably end up in a simple database like sql lite eventually. I've been bit in the past by utf8 encoding and my objective for now is to nip the problem in the bud by ensuring the data stays in utf8 from start to finish to avoid any problems.
Thanks for looking at this and providing assistance.