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 Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Internationalization problems

Status
Not open for further replies.

gmmastros

Programmer
Feb 15, 2005
14,901
US
I am trying to convert my VB6 application to spanish. It's still in development, so it's not installed on many computers.

When I install it on one computer in my office, it won't display accented characters. On several other computers, it displays fine. I've checked everything I could think of. Things I have tried:

1. I made sure the same font was used in the app is the same for each computer. It is currently set to Verdana.

2. I checked the charset on each computer... they are all the same. Font.CharSet = 0 (ANSI) on all computers.

3. I checked the codepage on each computer using the GetACP api function. All are the same and set to 1252 - ANSI Latin; Western European (Windows).

There are various operating systems involved, including Windows 7, Windows XP, Server 2008R2, and Windows 10. The misbehaving computer in running Windows 7.

When I install my app on the misbehaving computer, the accented characters do not show properly. When I run the application from another computer on the misbehaving computer, the accented characters show properly. Specifically, on the misbehaving computer, if I browse to \\server-compile\c\ApplicationFolder and execute application.exe, the accented characters are displayed properly. I find this odd because it is the same executable and the same dll's.

I am storing the phrases in a Microsoft SQL Server database. Each computer and applications are connected to the same database.

I don't know what else to look at to try to figure out this problem.

-George
Microsoft SQL Server MVP
My Blogs
SQLCop
twitter
"The great things about standards is that there are so many to choose from." - Fortune Cookie Wisdom
 
There are two ways of doing this: codepages and unicode. Which method are you using?
 
Can you be positive that running the "locally installed" program is not actually running a bad version that ended up in the user's VirtualStore?

Look under [tt]C:\Users\{profile name}\AppData\Local\VirtualStore\Program Files[/tt]
 
Xwb, I am only concerned about Spanish at the moment so I really only need ansi.

Dillatante, I am pretty sure I am not running from the virtual store, but I won't be able to confirm this until Monday.

-George
Microsoft SQL Server MVP
My Blogs
SQLCop
twitter
"The great things about standards is that there are so many to choose from." - Fortune Cookie Wisdom
 
>so I really only need ansi

Er, the basic ANSI standard is ASCII, which doesn't have any accents. So perhaps you mean ECMA-94 or ISO/IEC 8859, which are applied through the use of code pages, typically code page Windows-1252 for Western Europe (which is often incorrectly called an ANSI code page, which is Microsoft's fault). So it would appear that the answer to the question is that you are using the default code page.
 
>1. I made sure the same font was used in the app is the same for each computer. It is currently set to Verdana.

Did you try changing the font on the afflicted machine?
 
I've been getting slammed with support calls all morning so I haven't had a chance to try anything yet.

Is there a particular font that is better/preferred over other fonts?


-George
Microsoft SQL Server MVP
My Blogs
SQLCop
twitter
"The great things about standards is that there are so many to choose from." - Fortune Cookie Wisdom
 
It would be a rare font (setting aside symbol fonts like Marlett, Windings, etc.) that lacks the glyphs for accented letters used in Spanish.

The preferred font would normally be the system dialog font, which either defaults to the standard for the version of Windows or has been chosen by the user.

The default system font from Vista onward is Segoe UI. Prior to that it was Tahoma for many versions. Before that it was MS Sans Serif, which is why VB6 (actually OLE StdFont) defaults to that creaky old font.
 
The real reason I asked is that a font can, under rare circumstances, become partially corrupt. (temporarily) Using a different font may help track down if the font is the cause, or something more fundamental.
 
This is a super busy time of the year for me which is why I am slow to respond. I apologize.

dilletante,
The app does not appear in the virtual store, so it must be running the correct one.

strongm, I have not yet changed the font.

I do have more information. My app uses many activex dll's that I have also created. Many of these dll's are for reports and tools that show selection screens and then performs some sort of action. If I create a new executable to call the dll directly without going through my main application, it is showing the accented characters properly. If I open the same functionality through my app, the accented characters are not displayed correctly.

I don't have VB6 installed on the misbehaving computer so I can't step through the code to see what's going on. I've considered installing it there, but I'm afraid that installing VB6 may fix the issue. My real concern is that when I install my app on an end user's computer, I could have the same problem without having the ability to install VB6 on it.




-George
Microsoft SQL Server MVP
My Blogs
SQLCop
twitter
"The great things about standards is that there are so many to choose from." - Fortune Cookie Wisdom
 
I have a little more information to share...

I am getting the spanish phrases from a database. When I read the data from the database using the ADO object, accented characters are getting converted to 2 characters.

In the database I have: permitirá
Shown on the form, I have: permitirá

I have tried 4 different fonts, and they all do the same thing.

-George
Microsoft SQL Server MVP
My Blogs
SQLCop
twitter
"The great things about standards is that there are so many to choose from." - Fortune Cookie Wisdom
 
I've solved this problem.

It turns out that the problem wasn't with displaying accented characters. The problem was loading them from a UTF-8 file for storage in the database. I feel a little silly for having missed this before

dilletant & strongm, thank you for your time.

-George
Microsoft SQL Server MVP
My Blogs
SQLCop
twitter
"The great things about standards is that there are so many to choose from." - Fortune Cookie Wisdom
 
>The problem was loading them from a UTF-8

Odd that this only affected one computer, though.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top