人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【Firefoxアドオン】
自作のコンテキストメニューを作ってみたんですが、label属性に日本語を入れると文字化けしてしまいます。
何かいい方法はありませんか。

var menu1=document.createElement("menuitem");
menu1.setAttribute("label","label");// label と表示される
var menu2=document.createElement("menuitem");
menu2.setAttribute("label","ラベル");//記号の羅列が表示される

1235798262
●拡大する

●質問者: kebo987654
●カテゴリ:コンピュータ
✍キーワード:firefox アドオン コンテキストメニュー ベル 作ってみた
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● 《み》
●27ポイント

utf-8エンコードで書いてますか?

◎質問者からの返答

回答ありがとうございます。

s-jisで保存してました。

utf-8にしてみるとエラーが発生しました。

「SyntaxError : illegal character 行: 1」

今度はbomを消してやってみましたが相変わらずです。。。


2 ● Marine-Blue
●27ポイント

js内で扱う2バイト文字はエスケープすればいけるんじゃないかと思います。

◎質問者からの返答

回答ありがとうございます。escape("ラベル").replace(/%/g,"\\");// -> \u30E9\u30D9\u30EB

menu1.setAttribute("label","\u30E9\u30D9\u30EB");

↑のようにしたらこんな風に表示されてしまいました。。%u30E9%u30D9%u30EB


3 ● のり
●27ポイント

Unicode エスケープしてみたらいかがでしょう。

ラベル であれば、\u30e9\u30d9\u30eb みたいに。

変換するには、以下のページにある unicode.xul が便利です。

http://piro.sakura.ne.jp/latest/blosxom.cgi/mozilla/xul/2005-09-...

◎質問者からの返答

回答ありがとうございます。

やってみましたが、>>2 のようになってしまいました。

なにがいけないんでしょう

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ