This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Printf problem with special characters like: æ Æ Ø ø å Â

Hello everyone,

I have a problem storing special characters with uVision editor.
When I store the following line which stand in a example.c file:

 printf("æ Æ Ø ø å Â");
it is converted to incorrect ASCII values.

I can solved the problem by replacing the line and use the correct ASCII value as hex codes:

 printf("\x91 \x92 \x9D \x9B \x86 \xB6");
Then of course it is working fine but not very readable.

Why converts uVision these special characters and why do I not have this problem with other C-editors like UltaEdit?

(I use uVision2 v2.4)

Parents
  • You still believe that the key on your keyboard labelled 'æ' must always generate the character code 145 (0x91).

    I do not have a key labeled 'æ'on my keyboard. I generate this character by pressing [Alt-145]. So Yes I expect that it is stored as code 145, but obvious it is not.

    I try your experment and yes, you are right.
    When I press [Alt-145] in "notepad.exe", store it and look it in with "edit.com". It gives code 230 (0xE6).

    So your conclusion "It has nothing to do with Keil" is correct.

    This leads me to the question "Is there a way to make DOS and Windows codetables the same?".

Reply
  • You still believe that the key on your keyboard labelled 'æ' must always generate the character code 145 (0x91).

    I do not have a key labeled 'æ'on my keyboard. I generate this character by pressing [Alt-145]. So Yes I expect that it is stored as code 145, but obvious it is not.

    I try your experment and yes, you are right.
    When I press [Alt-145] in "notepad.exe", store it and look it in with "edit.com". It gives code 230 (0xE6).

    So your conclusion "It has nothing to do with Keil" is correct.

    This leads me to the question "Is there a way to make DOS and Windows codetables the same?".

Children
No data