ページ 1 / 1

menu項目に「〜」を入れると文字化けしてしまいます。

Posted: 2007年3月05日(月) 11:50
by okakensanta
いつも、お世話になっております。
下記URLのやり方を利用して、
カテゴリ検索を試してみました。
http://cms.al-design.jp/phpbb/viewtopic.php?t=546

スキーマ定義にて
<data name="price" type="menu" caption="見積金額" group="True">
<menuitem id="1">10万円未満</menuitem>
<menuitem id="2">10万円〜20万円未満</menuitem>
<menuitem id="3">20万円〜30万円未満</menuitem>
<menuitem id="4">30万円〜40万円未満</menuitem>
<menuitem id="5">40万円〜50万円未満</menuitem>
<menuitem id="6">50万円〜60万円未満</menuitem>
<menuitem id="7">70万円〜80万円未満</menuitem>
<menuitem id="8">90万円〜100万円未満</menuitem>
<menuitem id="9">100万円〜110万円未満</menuitem>
<menuitem id="10">110万円〜120万円未満</menuitem>
<menuitem id="11">120万円〜130万円未満</menuitem>
</data>
のように定義し、
デザイン定義にて、
<xsl:variable name="price_list" select="document('mistumori.schema.xml')/schema/data[@name='price']/menuitem" />
<xsl:variable name="price_id" select="price/text()" />
<table>
<th>
見積金額:
</th>
<td>
<xsl:value-of select="$price_list[@id=$price_id]/text()" />
</td>
</table>
のように設定しました。
しかし、
「10万円〜20万円未満」というmenuitem項目の「〜」が文字化けしてしまいます。
しょうがないので「→」を使っていますが、どうしても「〜」が使いたいのです。

どうやったら文字化けせずに、表示することが可能でしょうか。
お忙しいとは思いますが、
ご返答、よろしくお願い致します。

Re: menu項目に「〜」を入れると文字化けしてしまいます。

Posted: 2007年3月06日(火) 15:42
by webmaster
okakensantaさん、いつもありがとうございます。
あの難解なやり方を実現されたとのことで、頭が下がる思いです。

「〜」をスキーマで表示する方法ですが、このようにスキーマで指定した文字の
一部が文字化けすることがあるようです。

その場合には、その文字を実体参照という方法を使ってコードを直接記述する
ようにしてみて下さい。

例えば「〜」はUTF-8の文字コードでは「0x301C(16進数)」です。
この場合、スキーマ上では「&#x301C;」と書くことで表現することができます。
(&は半角で記述して下さい)

非常に面倒な方法なのですが、現在の所唯一の解決法となっております。
大変お手数ですが、一度お試し頂ければ幸いです。

表示することができました。

Posted: 2007年3月07日(水) 12:11
by okakensanta
ありがとうございます :D
表示することができました。