Unicodeの文字 が エディターボックスから読めないのですか?

解決


清原  2006-03-12 04:22:32  No: 60911

Unicodeの文字  が  エディターボックスから読めないのですか?
中国の漢字をタイプして、「??」が表示されます。
リッチエディターボックスを使ってみたら、表示するには表示できるけど、
取得できないんです、

CString str;
GetDlgItemText(ID_EDIT1,str);
GetDlgItem(ID_EDIT1)->GetWindowText(str);

これらの関数を使っても、正しく取得できない、
たとえば「體」この字を入力すると、取得した後、strは  「??」になる

一体どうすればいいのですか、教えてください〜
よろしくお願いします

MFC  VC.net  WinXP jp


επιστημη  2006-03-12 17:55:18  No: 60912

> これらの関数を使っても、正しく取得できない、
> たとえば「體」この字を入力すると、取得した後、strは  「??」になる

このことをどうやって確認したのですか?
「どこかに表示させて」ならば、そのどこかに直接「體」と書いて正しく表示されることを確認しましたか?


清原  2006-03-14 04:35:47  No: 60913

僕はWindowsXPにつきの中国語の入力言語に切り替えて、
エディットボックスに入力して、正しく表示されないんです。

ネットで台湾のサイトからコピーしたテキストをエディットボックスに貼り付けても同じです  (また「??」になる)  。

どうやって、ほかの国の文字を正しく表示されるのですか、
そして取得するのですか

> これらの関数を使っても、正しく取得できない、
> たとえば「體」この字を入力すると、取得した後、strは  「??」になる

この前に入力した「體」は中国の漢字だったんだけど、
ここに載せる時、コードが変更されたようだ。


YuO  2006-03-14 06:05:55  No: 60914

ちゃんとUnicode系のAPIでプログラムを作成していますか?
ANSI系のAPIでプログラムを作成しているのであれば,
ユーザーのコードページに含まれない文字は正しく扱えませんよ。


清原  2006-03-15 04:37:57  No: 60915

MFCのアプリケーション  ウィザード  で  プログラムを作成していますけど、Unicodeをサポートするには、ほかのすべきことがありますか?

GetWindowTextなどの関数は  Unicodeでもサポートすると
MSDNに書いてあるんですが


清原  2006-03-16 05:12:46  No: 60916

ネットでくぐったら、解決方法見つかりました。

>■ Unicode対応のプロジェクトにする 

>「プロジェクト」→「設定」→「C/C++」→「プリプロセッサの定義」から
>_MBCSの定義を削除し、代わりに、_UNICODEを定義する。

>「プロジェクト」→「設定」→「リンク」→「アウトプット」の
>「エントリポイントシンボル」にwWinMainCRTStartupと書き込む。
>(これをやらないと_WinMain@16は未解決ですとコンパイルエラーになります)

これで、解決しました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加