[Webinar] Learn how to a build a cloud-first strategyRegister Now


Characters appear like "?" in a TextEditor programmed in C++

Posted on 2014-07-10
Medium Priority
Last Modified: 2015-02-13
Hi Experts,

In 2006 I downloaded the text editor "Neatpad" by James Brown and it compiled and worked correctly:

Here is the link to the Neatpad:

It's implemented with VC6.

Now I downloaded it again and compiled it but it doesn't work correctly with Arabic characters. They appear like questions marks "?".

I don't know where is the problem.

In 2006 I have Vista on my machine and now also I am working with the same operating system.

Any suggestions on how to fix the problem?

Question by:Masaria
LVL 86

Expert Comment

ID: 40188799
Check your project settings and make sure that "Use Character Set: UNICODE" is selected and then rebuild your project. ALT+F7 will take you to the project settinggs, and IIRC you'll find that under "General". Sorry for not being more precise, but it's a while ago since I last used VC6.

Accepted Solution

Masaria earned 0 total points
ID: 40189415
I checked what you said, there is no such "Use Character Set: UNICODE".

There is a folder called "Unicode_Release" in the project files and I think the author used it as intermediate files :


Author Comment

ID: 40189419
Here is the link to Neatpad:

Neatpad - Catch22
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 35

Expert Comment

ID: 40189980
did you use successfully Arabic characters in 2006? or is it the first time you try to use them?

as far as I remember, the text editor of vc6 is not capable to print unicode characters, neither you can "see" them in the debugger.

however, win32 programs should work correctly with unicode if your configuration has defined the _UNICODE and UNICODE macros in the c++ preprocessor settings. look at the c++ tab - preprocessor whether they were defined.

if you want to use literals in Unicode, you can't edit them with the vc6 text editor. also I am not sure whether you could put such texts into resource files. you may consider to download visual studio 2013 express for editing texts and you could read them in vc6 with mfc or stl (std::wifstream, std::wofstream,  and std::wstring). when the _UNICODE macro was defined the so-called T-switch in your sources was switched to use wide characters. that means all types and macros like LPTSTR, TCHAR,  _T(), would turn to LPWSTR, wchar_t,  L"..." and mfc class CString also would be based on wide strings.

LVL 35

Expert Comment

ID: 40189992
note, folders or configuration names with unicode in the name, is nothing what you can rely on. those names are arbitrary and it can be that the author tried to use Unicode but witched back to multi-byte character set later. you need to check whether the unicode settings of the project configurations for debug and release still were correct. also check whether the code uses the T-switch correctly or whether they explicitly used the wide character types what could be a valid alternative to using the T types.

LVL 12

Expert Comment

ID: 40298145
check whether you have the fonts installed on the system you are running....

Author Closing Comment

ID: 40607546
resolving abounded old question.

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Navigation is an important part of web design from a usability perspective. But it is often a pain when it comes to a developer’s perspective. By navigation, it often means menuing. This is less theory and more practical of how to get a specific gro…
There is an easy way, in .NET, to centralize the treatment of all unexpected errors. First of all, instead of launching the application directly in a Form, you need first to write a Sub called Main, in a module. Then, set the Startup Object to th…
The viewer will learn how to use and create keystrokes in Netbeans IDE 8.0 for Windows.
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.
Suggested Courses
Course of the Month20 days, 9 hours left to enroll

868 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question