none
IE8のセレクトボックスで外字が表示できません。 RRS feed

  • 質問

  • OS:Win7

    IE8

    HTMLでWebページを作成しています。

    外字を使用しています。

     

    登録した外字をブラウザのウィンドウに文字列表示させる、

    テキストボックスに表示させる(<input type=”text” value=”外字”/>)、

    リンクに表示させる(<a href="xxxxxx">外字</a>)などはできるのできますが、

    セレクトボックスに表示できません。(<select><option>外字</option></select>)

    登録した外字とは別の字が表示されます。

     

    どうすれば外字が表示できるのでしょうか?

    外字は表示できるのですか?

     

    ソースファイルのエンコード:UTF-8

    HTML <meta>エンコード:UTF-8

    全体にfont-family : 'MS PGothic'を指定しています。

     

    ちなみにXP IE6環境の場合は登録した外字が表示できます。

     

    よろしくおねがいします。

    2011年6月29日 6:02

回答

  • すみません。IE8だったんですね。
    2つの環境、
    Win7 64bit&IE8 32bit
    XP 32bit & IE8 32bit
    で確認しましたが、再現しませんでした。 

    次のように表示されます

     

    Unicode参照文字()でも、UTF-8バイナリ(EE 98 BE):(←絵文字設定していれば太陽)でも同じです。

    ”太陽”をバイナリとして埋め込んでいる場合は、文字コードはEE 98 BEになっていますかね?

    テンプレートエンジンなどを使用して動的に画面を表示している場合は、それも含めて、
    最終的にブラウザに返却された内容が想定どおりになっていますでしょうか?

    使用したHTMLは以下になります。

     

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
    <html>
    <head><title>外字テスト</title>
    <style>
    *{ font-family: 'MS PGothic' }
    </style>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    </head>
    <body>
    Unicode参照文字:&#xE63E;<br>
    UTF-8バイナリ(EE 98 BE):<br>
    <select class="hoge1">
    <option value="a">Unicode参照文字:&#xE63E;</option>
    <option value="a">UTF-8バイナリ(EE 98 BE):</option>
    </select><br>
    </body></html>
    

     

    • 回答としてマーク 服部清次 2011年7月6日 4:02
    2011年6月30日 15:34
  • 返信ありがとうございます。

    問題が解決できました。

     

    ↓これでした。

    マイクロソフトサポートオンライン

    Windows Vista 上の 2007 Office プログラムまたは Office 2003 プログラムで外字 (EUDC) が中国語フォント MingLiU_HKSCS の文字に置き換えられる

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

     

    私の環境はWin7、Office2007を使用していました。

    ちなみにOffice2007はSP2が既に適用済みで、IEのselectタグ以外では外字の置き換わりが発生していませんでした。

    上記サイトの「詳細」タブ、「方法1」を試したところ、今回の問題が改善されました。

     

    ずっと私はIE8のselectタグが悪いのだろうと考えていたのですが、

    (´・ω・`)さん公開のHTMLを試し、私以外の環境では再現しないことが判り、

    IE以外の情報に目を向けることができました。ありがとうございます。

    2011年7月4日 7:46

すべての返信

  • 再現しませんでした。(´・ω・`)
    つまり外字は表示されました。
    Win7 64bit& IE9 32bitです。
    SystemDefaultEUDCFontにドコモ絵文字を割り当てて確認しました。

    手元の環境では、IE9でも、selectタグにて外字の表示は出来てきますよ。
    文字コードはUTF-8かつフォント指定は「*{ font-family: 'MS PGothic' }」です。

    案①:&#xE63E;といった形式で記述すればよいかと。
    案②:CSSの継承の有無がバージョンによって異なっている可能性もありそうです。
    案③:そういえば、GPUレンダリング時のselectコンポーネントのレンダリング方式って?念のためOFFにしてみるとか。

    ちなみに、外字の登録方法は、システム全体ですか?それとも特定のフォントですか?

    ※参考になりそうなリンク
    http://social.technet.microsoft.com/forums/ja-JP/windowsvistaja/thread/08ce94b1-385b-4867-af95-c46613b532ce/
    http://pasofaq.jp/windows/ime/deleudc.htm

    2011年6月29日 13:04
  • 返信ありがとうございます。

     

    ドコモ絵文字を初めて試してみました。

    しかし、Win7 64bit&IE8 32bit環境では、selectタグにて外字の表示できませんでした。

    例えばドコモ絵文字の初めにある太陽を、

    IMEから文字を入力した場合も、ドコモのソフトのi絵文字で入力した場合も、

    「つきへん」に「希」という字が表示されます。「月希」

     

    案③については方法が判りませんでいた。

     

    外字の登録方法はシステム全体です。

    2011年6月30日 1:23
  • すみません。IE8だったんですね。
    2つの環境、
    Win7 64bit&IE8 32bit
    XP 32bit & IE8 32bit
    で確認しましたが、再現しませんでした。 

    次のように表示されます

     

    Unicode参照文字(&#xE63E;)でも、UTF-8バイナリ(EE 98 BE):(←絵文字設定していれば太陽)でも同じです。

    ”太陽”をバイナリとして埋め込んでいる場合は、文字コードはEE 98 BEになっていますかね?

    テンプレートエンジンなどを使用して動的に画面を表示している場合は、それも含めて、
    最終的にブラウザに返却された内容が想定どおりになっていますでしょうか?

    使用したHTMLは以下になります。

     

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
    <html>
    <head><title>外字テスト</title>
    <style>
    *{ font-family: 'MS PGothic' }
    </style>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    </head>
    <body>
    Unicode参照文字:&#xE63E;<br>
    UTF-8バイナリ(EE 98 BE):<br>
    <select class="hoge1">
    <option value="a">Unicode参照文字:&#xE63E;</option>
    <option value="a">UTF-8バイナリ(EE 98 BE):</option>
    </select><br>
    </body></html>
    

     

    • 回答としてマーク 服部清次 2011年7月6日 4:02
    2011年6月30日 15:34
  • 返信ありがとうございます。

    問題が解決できました。

     

    ↓これでした。

    マイクロソフトサポートオンライン

    Windows Vista 上の 2007 Office プログラムまたは Office 2003 プログラムで外字 (EUDC) が中国語フォント MingLiU_HKSCS の文字に置き換えられる

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

     

    私の環境はWin7、Office2007を使用していました。

    ちなみにOffice2007はSP2が既に適用済みで、IEのselectタグ以外では外字の置き換わりが発生していませんでした。

    上記サイトの「詳細」タブ、「方法1」を試したところ、今回の問題が改善されました。

     

    ずっと私はIE8のselectタグが悪いのだろうと考えていたのですが、

    (´・ω・`)さん公開のHTMLを試し、私以外の環境では再現しないことが判り、

    IE以外の情報に目を向けることができました。ありがとうございます。

    2011年7月4日 7:46
  • 質問者_1000 さん、

    こんにちは。
    フォーラム オペレーターの服部 清次です。

    無事問題が解決したとのことで、ご報告ありがとうございました!
    今回、(´・ω・`) さんが提供してくださった情報も参考にしていただけたとのことでしたので、
    私の方であわせて [回答としてマーク] させていただきました。

    今後とも、MSDN/TechNet フォーラムをよろしくお願いします。
    それでは、また。


    __________________________________________________
    日本マイクロソフト株式会社 フォーラム オペレーター 服部 清次

    2011年7月6日 4:03