Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations wOOdy-Soft on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Greek alpha issues

Status
Not open for further replies.

cruzmsl

Programmer
Feb 13, 2002
18
US
I have a dos app that writes to a Paradox db (ver 3 or 4)
Users input a greek alpha by typing alt + 224.
When I open the db in Paradox 8 or 10 the alphas
display as # symbols.
When I display the alphas in a vb app the display as a lower case a.
What the heck is going on here??
Any thoughts?

Thanks,

cruzmsl
 
cruzmsl,

What's going on is called "character conversion." It's a known issue (behavior, not bug).

It basically boils down to the differences between the character sets for the three products (the OS, the computer, and Windows itself) and appears when you're working with things based on different character set assumptions.

It's hard to summarize briefly. But I'll try:

1. The basic problem is that character data is stored as integer values. Each integer value is mapped to a specific character in a character set.

2. DOS was based on the code page loaded in the CONFIG.SYS, generall 437 (ASCII). Windows is based on ANSI, and each table has an associated character set called a sort order that indicates the supported characters and how they're sorted.

3. When each "viewer" of saved data examines a character's integer value, it checks its assumptions and draws the appropriate symbol on the screen.

The problem you're running into though is two fold:

1. Some viewers know that the saved character is not supported by the viewer's character set, so the viewer translates the character to one that seems close. (This is what BDE does).

2. Other viewers simply assume that the saved character represents characters in its character set, so it simply draws the corresponding character (which is what I think your VB code is doing).

The solution is to ensure that all viewer are using comatible character sets and that the data values are actually shared between them.

In the case of Paradox tables, this means using a language driver that supports as many ANSI characters as possible. Typically this is Int'l (850) or ANSI Int'l.

For a complete overview of the topic, open your Paradox for Windows Help file and then search for the topic called "International (regional) issues" If you don't have one, then look for one called "Character set issues." Be sure to read the various related topics, as they cover the topic in some depth. (I know; I'm the one that wrote the original material for the Paradox 1.0 Help file. While it's been edited a bit in the intervening years, much of it is what I originally wrote.)

Hope this helps...

-- Lance

 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top