Can a table (.dbf) be encoded in two different systems?
Yes. it is possible however it is not recommended.
DBF File Specification
As the specification shows, dbf file (dBase 3 - 5) have three parts: 1. Header 2. Field Headers Part 3. Records (Data). All programmer who write software must use Two-Bytes Fixed-Length encoding like windows 1256 when writing the the field names in field headers and when write text data in the record part. That's important because dbf file is a binary file and length of each part should be pre calculated and stored in the header part.
What just happened?
Imagine a software like ArcMap use two different encoding when writing the dbf file to the hard. Then this kind of problem will arise when using different software to read that dbf file. However using UTF8 provide us with the benefit of creating dbf file with smaller size when working with English characters but
- It makes some other characters from other languages consume more space! So data lost may occur in some cases and
- Problems arise when using other softwares and trying to read these dbf files.
I personally see this problem months ago and use two different encoding in my library to read dbf files (one for header and the other for records)