- ベストアンサー
ハングル文字を入力するには、どうすれば良いのですか?
Microsoft Visual Basic 6.0で、ハングル文字を入力するには、どうすれば良いのですか?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
VBは内部でUNICODEという国際文字コードを使っているにも関わらず、表示部にはShiftJISを使っています。 だから、ハートマークとかVBのテキストボックスにコピペしても、?になってしまいます。 同様に、ハングル文字も理解できないと思います。 たぶん、言語の設定でもどうしようもないと思います。 逃策としては、コンポーネントの中にあるDHTMLコントロールなら、IE同様の文字コードを認識できるので、そこに&#nn;で入力するとか・・・。
その他の回答 (5)
- TAGOSAKU7
- ベストアンサー率65% (276/422)
win95系ではダメなのですか? 知らなかったです。。。m(__)m
- haporun
- ベストアンサー率40% (230/562)
補足ですが、テキストボックスをAPIで作成する場合、Windows NT/2000/XPでなければ、UNICODEに対応したテキストボックスを作る関数は呼び出せません。 それはたとえば、Windows98/MEの "ファイル名を指定して実行" のテキストボックスにハートマークが書けないのと同じです。 NT系は書けます。 ちなみに、フォント自体は、Windows98以降に付属してるMSフォントなら、UNICODEに対応しています。 95のときに比べて、ファイルサイズが2倍くらいになっているのはそれが原因です。
- todo36
- ベストアンサー率58% (728/1234)
> VBでは、??となってしまいます。 テキストボックスのフォントが"MS Pゴシック"になっている ので、フォントをハングル系に変えてみては?
お礼
ハングル文字がどのフォントに対応しているのか分からないので、調査中です。
- TAGOSAKU7
- ベストアンサー率65% (276/422)
確かに#2の発言したとおり、VBのテキストボックスは使用できないようですね。 でも、標準コントロール以外も使用するのはちょっと怖いような気がします。 テキストボックスをAPIで作成するほうが安全だと思います。 地域によってDLLが多少違ったりするので、DLLをどのように使用しているかがわからないコントロールはあまり使用しないことがベストです。 ユーザーに入力をさせるのですか? それともプログラムから文字列をテキストボックスにセットするのですか? ユーザーが入力を行わないのであれば、テキストボックスのようなピクチャボックスを作成し、Paintする手もあります。 各ハングル文字はリソースファイル/DB/テキストファイルのいずれかで保存しておくと便利です。リソースファイルは地域に対応した保存形式を選択する必要がありますので、注意してください。
お礼
素早い対応、誠にありがとうございます。 標準コントロール以外で使用するには、怖いですか・・・ それでは、TAGOSAKU7様のおっしゃるテキストボックスをAPIで作成する方法を 使用してみます。 最終的には、ユーザーに入力させる事も考えておりますが、現時点では、対応するすべがなく、英語で対応する事を考えております。 DBにハングル文字を保存したいのですが、こちらもハングル文字を入力すると…と表示してしまいます。データ型もnchar,nvarcharでは、…で保存できたのですが、実際、値を取り出してどう表示するのかも確認してません。列名には、ハングル文字を入力(貼り付け)すると、見た目では、ハングル文字なのですが、テーブルを開いてみると…と表示されます。こちらも、調査中です。 SQL Server 2000 Service Pack 2 (SP2)をインストールすると、列名にハングル文字が対応(?)出来ると思うのですが、こちらも調査中です。 今の所、DBのテーブルにコードを入力して(고마워)VBで値を取り出して、XMLでデータを作成して、XMLデータとXSLTファイルよりHTML(文字列)を作成しています。 これから、やり方を調べてやってみます。
- TAGOSAKU7
- ベストアンサー率65% (276/422)
入力っていうのはテキストボックスですか? VB6っていうよりOSに依存する話ですね。 今手元にはWIN2000環境しかないのですが、、、コントロールパネルの地域のオプションで設定でできると思います。もしOSが2000でなくても、コントロールパネルに言語の設定をする項目があると思います。 はずしてたら補足してください。
お礼
地域のオプションで、入力ローケルに韓国語(ハングル)を追加して、ワードパットなどには、入力できるのですが、VBでは、??となってしまいます。
お礼
IEに直接文字コードを入力すると表示するのは、やったことがあるのですが、 コンポーネントの中にあるDHTMLコントロールは、使ったことがないので、早速調べて使用してみます。