none
外字を含んだ文字列リテラル RRS feed

  • 質問

  •  XP Pro+Visual C# 2005について質問です。

     ソースコードに外字を含んだ文字列リテラルを埋め込みたいのですが必ず

    文字化けしてしまいます。付属のエディタでは外字を表示できない仕様なの

    でしょうか?試した外字コードは0xF0A6です。

    外字エディタでのフォントへのリンクはすべてにリンクさせており、正しく表示

    されないまま保存して他のテキストエディタで開くと正しく表示されます。

    表示できないのはエディタ上だけでローカル変数ウィンドやポップアップでは

    正しく表示されていました。

    解決策があるようでしたら教えていただけないでしょうか。

    よろしくお願いします。

     

     

     

    2007年10月10日 6:29

回答

  • まず、具体的な解決策は見つかりませんでした・・・(力及ばず・・・すいません。

     

    今回の現象の原因の可能性としては・・・

    ・そもそもVSのソースエディタが外字エディタの内容を踏まえていない。

    のだと思いますが、確かなことはまったくいえません(汗。

     

    この現象ですが、「Visual C# Express Edition フォーラム」というよりは「Visual Studio フィードバック」

    に投稿していただいたほうがいいかもしれないですねー。

     

    少し調べていて、以下のような現象もあったようです。

    [Visio2002]図面上に外字を入力できない

    http://support.microsoft.com/kb/417899/ja

     

    もしかすると同じ現象なのかもしれないですね・・・

    2007年10月14日 17:44
  • こんにちは、

     

    外字の状態で保存すると化けてしまうので、リテラルの状態にしておけば

    大丈夫ですよ。

     

    たとえば↓とすると

    MessageBox.Show("あああ\uE065いいい");

    「あああ」と「いいい」の間にUnicodeの「E065」に相当する文字列が

    メッセージボックスに表示されます。

    ちなみに、ShiftJISの F0A6 は Unicode で E065 です。
    2007年10月15日 1:43

すべての返信

  • まず、具体的な解決策は見つかりませんでした・・・(力及ばず・・・すいません。

     

    今回の現象の原因の可能性としては・・・

    ・そもそもVSのソースエディタが外字エディタの内容を踏まえていない。

    のだと思いますが、確かなことはまったくいえません(汗。

     

    この現象ですが、「Visual C# Express Edition フォーラム」というよりは「Visual Studio フィードバック」

    に投稿していただいたほうがいいかもしれないですねー。

     

    少し調べていて、以下のような現象もあったようです。

    [Visio2002]図面上に外字を入力できない

    http://support.microsoft.com/kb/417899/ja

     

    もしかすると同じ現象なのかもしれないですね・・・

    2007年10月14日 17:44
  • こんにちは、

     

    外字の状態で保存すると化けてしまうので、リテラルの状態にしておけば

    大丈夫ですよ。

     

    たとえば↓とすると

    MessageBox.Show("あああ\uE065いいい");

    「あああ」と「いいい」の間にUnicodeの「E065」に相当する文字列が

    メッセージボックスに表示されます。

    ちなみに、ShiftJISの F0A6 は Unicode で E065 です。
    2007年10月15日 1:43
  • Toshiさん、ファクトさんありがとうございました。

    複数の外字が必要なため、直感的に見分けやすくしたくてエディタで表示したかったのですが、

    ファクトさんの"あああ\uE065いいい"を参考にさせていただこうと思います。

    原因が知りたいので後日フィードバックに投稿してみようと思います。

    2007年10月15日 12:08