It is possible that the issue is nothing more than the font you have defined
for Datasheets showing the value correctly, whereas the font used in the
report does not. This setting is under:
Tools | Options | Datasheet | Font
However, that should apply to queries as well as tables.
If the query involves a UNION or calculated field (concatenating values), it
may be that Access is misunderstanding the data type, especially if there
are many Nulls. Be sure to use the & for concatenation, not + (which can be
understood as numeric addition.) In a UNION query, if the first table does
not have the field, swap the order of the SELECT statements.
If is possible that the field is corrupted. However, it should then appear
as corrupted in all views.
One way to discover what the strange character is would be to count the
number of characters before the bad one, and then ask Access what this
character is. If there are 5 good characters in Field1 of Table1 where the
ID field is 99, try this expression in the Immediate window (Ctrl+G):
? Asc(Mid(DLookup("Field1", "Table1", "[ID] = 99"),6))