Error / Corruption in Table > Access 2003

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I have a single customer that periodically suffers some sort of data
corruption that results in the data of the record they were editing or
accessing being replaced by what appears to be Chinese characters. Sometimes
the table can be repaired, and sometimes I have to copy the all of the
records out of that table, except for the affected record. This has happened
less than 5 times in the last 6 months, but when it happens, it requires
intervention more than running a repair / compact etc...

This same program is running at many other locations, some for many years,
but I have not seen this sort of problem.

Please advise any feedback.

Thanks,
 
Thanks John,

I have reviewed these articles, and I do suspect it is a particular user /
desktop that is causing the problem. I have forwarded the article info to
their IT department for further review.

I guess my other question is why when this happens, does the affected record
end up with Chinese Characters, as opposed to nothing, or mixed up txt etc?

Thanks,
marty
 
Recent versions of Access store text as Unicode. The general idea was
that instead of using one byte per character as in traditional storage
of text in the roman alphabet (e.g. ASCII), there are two bytes per
character. This increased the possible number of characters from 255 (or
254, depending how you look at it) to 65535. (This turned out not to be
enough to encode all the characters in all the world's languages, so
there are further complications).

Anway, speaking loosely, the ANSI representation of "COW" is the three
bytes (hexadecimal notation) 43, 4F, 57 while in Unicode it's the six
bytes 00, 43, 00, 4F, 00, 57. Chinese characters are higher up the
Unicode range. There are many thousands of them, starting at 4E00.

The next complication is that by default Access uses "Unicode
compression" to reduce file size. I don't know the details, but it must
involve omitting the repetitive 00 bytes in Roman text, thus getting COW
back from
00, 43, 00, 4F, 00, 57
to something more like
43, 4F, 57

And if something goes a little bit wrong you might find Jet interpreting
4F, 57
as the one Chinese character 4F57 rather than the two Roman characters
"O" and "W".

Don't take this for an authoritative or precise account, but I think it
gives the general idea.
 
Back
Top