JavaScriptで取得した日本語をCGIで表示させるときに
どうしても文字化けしてしまうのですが、どうしたらよいでしょうか?
ローマ字や数字は正常に表示されるのですが…

このQ&Aに関連する最新のQ&A

A 回答 (3件)

モジュールの検索は


http://search.cpan.org/

Jcode.pm インストールや使い方などの説明
http://openlab.ring.gr.jp/Jcode/index-j.html

unicode.pm 等モジュールの説明
http://member.nifty.ne.jp/hippo2000/perltips/ind …

それぞれ、かってにリンクさせて頂きました。
動作確認環境がないだけにもし的外れでしたら申し訳ありません。
    • good
    • 0
この回答へのお礼

モジュールの検索では、該当無しと出てしまいました
今回の質問は、JavaScriptというよりは、CGIの記述の方に
解決法があるようですね。
CGI関連で、もう少し調べてみる事にします
アドバイス等どうもありがとうございました

お礼日時:2001/01/23 09:24

まず、escapeの関数を調べました所、通常文字列のアスキーコード(ISO Lathin 1)を返す


そうです。IE4.0ではUnicodeを返しますので注意が必要みたいです。

で、本題のIE5.x以外は問題無いと勝手に判断して(すみません)、IE5.x がらみのescape/unescape
の処理を調べたら、CGIのMLのバックナンバーに似たようなスレッドがありました。

http://210.224.170.228/cgiml/199911/msg00467.html
http://210.224.170.228/cgiml/199911/msg00502.html
login cgi-ml
password cgi-ml
です。(これは公開して問題無い認証です)

これを、読む分にはcgiのperl 側で(C等使ってましたら申し訳ありません)
unicode.pm 、jcode.pm など使うことで解決できる
可能性も書かれてましたが、私の方に上記のモジュールがインストール
されている環境がないので調べる事ができませんので、参考までにという
ことでよろしくお願いします。
CGI側で各ブラウザの返す文字コードに合わせて、文字コード変換させて
あげるとうまく行きそうですね。

この回答への補足

初心者的質問で、申し訳ありません
CGIはperlで書いています
unicode.pm,jcode.pmはどこで入手できるのでしょうか?
その際require を使用すればよいのですか?

CGI側で&jcode'convert(*name, 'euc');などやっては見たのですが…

補足日時:2001/01/22 21:03
    • good
    • 0

JavaScriptのトラブルは、OS、ブラウザの種類、バージョン、使用した文字コード、


外部JavaScriptを使用した場合の文字コード、文字化けの事象が現れた関数などが
分からないと解決できる人がいないと思います。
環境を教えていただくと答える方々も答えやすいと思います。

この回答への補足

説明不足で申し訳ありません

JavaScriptで作ったゲームなんですが
ゲームの得点は数値でscoreなんです
yourName=escape(prompt("名前入力",""));
theAddress="http://・・・・";
theURL=theAddress+"ranking.cgi?score="+score+"&name="+yourName;
ここで、ランキングをCGIに送っているんですが…
OSはWin98,ブラウザはIE5.5文字コードはシフトJISとEUCの両方でやってみました

補足日時:2001/01/22 15:59
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q文字化けメールの修復方法は?

文字化けメールが届いてしまいました。
エンコードの問題ではないようです。修復する方法はありますか?

Aベストアンサー

以下のHPで、もしかしたら読めるかもしれません。

参考URL:http://www.kanzaki.com/docs/jis-recover.html

QCGIのプログラム設置でSSIを使わずに、JavaScriptで直接CGIを呼び出す

SSIが使えないサーバーで、JavaScriptを使って、直接CGIを呼び出して、表示させるCGIの設置をしています。
CGIスクリプト配布先では、表示した箇所に下記タグを記載するようにと説明があります。
-----------------------------------------------
<html>
<body>

<script language="JavaScript" src="○○.cgi" >
</script>

</body>
</html>
-----------------------------------------------
真っ白いままで表示されなく困っています。
ちなみに直接CGIにアクセスすると、崩れた表示で表示されますので、CGI設置は問題ないはずです。
(CGIのパーミッション755にしてあります)

質問がいくつかあるのですが・・・
ホームページ作成ソフトで作っていますので、<head>~</head>内に下記メタタグが自動挿入されていますが、何か関係があるのでしょうか?
<meta http-equiv="content-script-type" content="text/javascript" />

language属性は HTML4.01に採用されなかったため、HTML4.01 に従う場合は language 属性ではなく、type属性を使用するという記載を検索で見つけましたが、type属性に変更すればよいのでしょうか?
type属性に変更のタグはどうように記載すればよいでしょうか?

JavaScriptはあまり詳しくないので、とんちんかんな質問だったらすみません。
どうぞよろしくお願いします。

-----------------------------------
配布先CGI:http://www.nmt.ne.jp/~mamiko/scripts/index.html

SSIが使えないサーバーで、JavaScriptを使って、直接CGIを呼び出して、表示させるCGIの設置をしています。
CGIスクリプト配布先では、表示した箇所に下記タグを記載するようにと説明があります。
-----------------------------------------------
<html>
<body>

<script language="JavaScript" src="○○.cgi" >
</script>

</body>
</html>
-----------------------------------------------
真っ白いままで表示されなく困っています。
ちなみに直接CGIにアクセスすると、崩れた表示で表示されます...続きを読む

Aベストアンサー

配布先のスクリプトを見てみましたが、キチンと JavaScript を吐き出す Perlスクリプトでしたね。

>ちなみに直接CGIにアクセスすると、崩れた表示で表示されます

表示が崩れるのは Perl が吐き出すデータのMIMEタイプが text/plain になっている為ですので、それが正常な動作です。
もしかして、単にスクリプトへのパスを間違えてませんか?

<script type="text/javascript" src="xxxxxx"></script>

パスってのは上の例で言うならxxxxxxの部分のこと。
仮に現在ここを相対パスで記述しているならば、念の為に絶対URLに変更してみてください。
ブラウザで直接スクリプトにアクセスし、アドレスバーから URL をコピーすれば確実です。

Qメールが全部文字化け!どうすれば修復できますか?

outlookexpress6を使用しています。

ある日突然受信トレイにあるメール内容がすべて文字化けされてしまいました。
どうしたらいいのでしょう・・

元にもどるのでしょうか。。。

エンコード設定でunicode utf8にしたら、自分のメールから自分のメールに送ったらうまくおくれたのですが、外部からおくられてくるメールはいまだに文字化けのままです。。。
受信トレイにたまったメールもすべて文字化けのままなので修復したいです。

お詳しい方どうぞアドバイスよろしくお願いします!

Aベストアンサー

次の操作を試してみてください。

1.[ツール]→[オプション]を実行
2.[読み取り]タブを選択
  2.1.[エンコード]→“日本語(自動選択)”
  2.2.[既定に設定]をクリック ← これ重要!
  2.3.[OK]をクリック

Qjavascriptで四捨五入して小数点第1位表示で計算値が10になった場合、10.0と表示したい0表示にする方法

利率計算を作成していて、問題が発生したため、質問します。
以下ような計算式で、四捨五入し、小数点第1位表示まで
出来たのですが、計算値が整数になってしまった場合、
10と表示されます。これを何とか、整数値になった場合、
10.0と表示させたいのですが、良い方法があれば、
ご伝授いただければと思います。

ritu = Math.round( ritu * 1000 ) / 10;//小数点第1位表示四捨五入して代入

Aベストアンサー

ritu1 = Math.round(ritu*1000)/10;
ritu2 = Math.floor(ritu1);
ritu = ritu2 + "." + Math.floor((ritu1-ritu2)*10);

Q 文字化けの修復方法

windouws 98 NEC ノートパソコンで
文字化けしてしまい一般的な修復方法の
セーフモードにして再起動するとよく直っていたんですが今回は直りませんでした。
セーフモード中は直って普通に見えるのですが
再起動で立ち上げるとま文字化けしてしまいます
何か良い改善方法をおしえてください。
お願いします。

Aベストアンサー

参考URLをご覧のうえ、対処してください。

参考URL:http://homepage2.nifty.com/winfaq/fontstrouble.html

Qjavascriptでブラウザに表示されている文字列を取得したい

javascriptでブラウザに表示されている文字列を取得したい
宜しくお願いします。
javascriptを使って、現在表示されているブラウザの文字列を取得する方法はありますか?
ソースから取得したり、出来そうな気がするのですが、検索しても方法が見つかりませんでした。
もしくは、ブラウザのセキュリティで出来ないのでしょうか?

Aベストアンサー

続き(body部以下)

<body>
  <h2>Iframe Contents Text Get</h2>
  <p>
   <span style="font-weight:bold;">URL:</span><input type="text" id="url" style="width:70%" value="/index.htm">
   <button onclick="frame_load();">ロード</button>
  </p>
  <hr>
  <iframe id="target_frame" name="target_frame" src="/index.htm" width="640px" height="800px" style="float:left;"></iframe>
  <button onclick="get_text();">テキスト抽出</button>
  <button onclick="result_clear();">クリア</button>
  <p style="text-align:center;">
   <textarea id="result" cols="15" rows="30"></textarea>
  </p>
</body>
</html>

※レイアウトが気にいらなきゃ適時修正してね
※外部サイトのHTMLの解析は、サーバープログラムが無いとだめよ。

続き(body部以下)

<body>
  <h2>Iframe Contents Text Get</h2>
  <p>
   <span style="font-weight:bold;">URL:</span><input type="text" id="url" style="width:70%" value="/index.htm">
   <button onclick="frame_load();">ロード</button>
  </p>
  <hr>
  <iframe id="target_frame" name="target_frame" src="/index.htm" width="640px" height="800px" style="float:left;"></iframe>
  <button onclick="get_text();">テキスト抽出</button>
  <button onclick="result_clear();">クリ...続きを読む

Q文字化けしたワードファイルの修復方法を教えてください

word2003で作成し、保存していた文書を、同じパソコンのword2003で開いたら文字化けしていました。
以前見たときは正常に表示されていて、その後何か操作をした覚えもありません。
文字化けした部分は□が並んだようになっています。

教えてgooの過去の質問や、他のサイトをみて解決方法を調べ、フォントを変える、htmlファイルやrtfファイルで保存しなおす、ワードパッとにコピーする、等色々試して見ましたが直りません。

大切な文書でしたので、修復方法をお教えください。
お願いします。

Aベストアンサー

☐の部分は、文字(文字コード)であったことは確実ですか。
例えば1例でも、(元は)どんな内容か思い出せますか。
正しく表示されていたころは、質問者はそれを見た事を覚えていますか。
ところどころ、少ない部分だけですか。
その後何か特別なことをした、ことは思い出せませんか。
ーー
「文字化け」というのは文字コード(体系)の問題だと思います。間接的にFontなどと関連しますが直接的ではないと思う。
もがいている方向性が疑問に思ったもので。
http://www.asahi-net.or.jp/~ax2s-kmtn/character.html
本質問の解決に直接役に立たないと思うが、参考までに見て置いてください。
何か思い当たる点は無いですか。
上記WEBにもある、機種依存文字など関係ないですか。
文書やファイル作成時に使われた文字コード体系がファイルに記録されるとはっきりするが、そういうOSの仕組みではないようなので難しい。

QJavaScript 画像のサイズを取得して、それに適したウインドウを表示したい

画像のサイズを取得して、それに適したウインドウを表示したいと思っています。

今のところ、下記のように実装しましたがローカルで実行した際に、サイズを取得できない場合があります。
(document.write(size);で、width=0,height=0 と返ってくる)

また、サーバ上で実行するとブラウザが応答なしになってしまいます…。

どのように解決すればよいか、良い案がありましたら是非ご教授下さい。
宜しくお願い致します。

function popup_img(url, title){
var tImg = new Image();
tImg.src = url;
x = tImg.width;
y = tImg.height;
document.write(size);  //for debug

if(x!=0 && y!=0){
var size = "width=" + x + ", height=" + y;
a = window.open("","",size);
a.document.write("<HTML>\n");
a.document.write("<TITLE>",title,"</TITLE>\n");
a.document.write("<BODY TOPMARGIN=0 LEFTMARGIN=0 MARGINHEIGHT=0 MARGINWIDTH=0>\n");
a.document.write("<IMG SRC=",url,">\n");
a.document.write("</BODY></HTML>\n");
a.document.close();
a.moveTo((a.screen.availWidth / 2 - tImg.width / 2), (a.screen.availHeight / 2 - tImg.height / 2));
}
}
// -->
</SCRIPT>
</head>

<BODY>
<a href="#" onClick="popup_img('TEST.jpg', 'SOME TITLE')">TEST</a>

画像のサイズを取得して、それに適したウインドウを表示したいと思っています。

今のところ、下記のように実装しましたがローカルで実行した際に、サイズを取得できない場合があります。
(document.write(size);で、width=0,height=0 と返ってくる)

また、サーバ上で実行するとブラウザが応答なしになってしまいます…。

どのように解決すればよいか、良い案がありましたら是非ご教授下さい。
宜しくお願い致します。

function popup_img(url, title){
var tImg = new Image();
tImg.src...続きを読む

Aベストアンサー

こちらにそのようなスクリプトがあります。

参考URL:http://mugi.cc/js/000307.htm

Q文字化けしたフランス語のメールを修復するには?

フランス語のメールが文字化けしてしまい、
うまく読めなくなってしまいました。

すでに難しい漢字などが紛れてしまった文章を
修復できるようなフリーソフトなどはございませんか?
またはPCの簡単な設定で修復する方法がありますか?
こちら、windows vistaです。
初心者でもわかりやすいものがあれば教えてください。

よろしくお願いいたします。

Aベストアンサー

duosonic です。お疲れ様でした。
ユードラって亜流です、ハッキリ言って。もともとマック用にデザインされた?らしいので、Windowsとは相性悪いのもうなづけます。そもそもライブドアホリエモンが関わっているというだけで、僕の中ではボツです (^^;)

Vistaには Windows Mailが入っていますよね。それで再生できませんかね?

>>あいさつ程度のフランス語しかできませんので、差出人のフランス人にもう一度送って~なんていうことを言えるかどうか・・・(;_;)
>あそうなんですか。何と申し上げて良いのやら 、、、(-_-;)

通じるか否か分からないフランス語で書くよりも、英語で出しちゃうのは手ですよ。欧州人は大抵英語大丈夫ですから。(僕の回答歴?ご覧頂くとお分かりかと思いますが、)英語ならいくらでもお教えいたしますので、ご安心下さい。或いは、フランス語を書けるだけ書いて、外国語?カテで内容が大丈夫か聞いてくるのも手です。


ご参考までに。

Qjavascriptで取得画像サイズを取得・設定

javascript初心者です。
javascriptで取得画像サイズを取得し、変数に格納し、
htmlタグ属性のwidht="getPhotoSize();"というようなことはできますでしょうか。
ご存じの方がおられましたら教えてください。

Aベストアンサー

ご質問の意味をよくわかっていませんが…


以下、雰囲気のサンプル。
画像を取得するのに多少なりとも時間がかかるので、コールバックで処理するようになっています。
(とりあえず、取得したらwidthをアラートするサンプル)

(全角空白は半角に)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head><title>sample</title>
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script type="text/javascript">
<!--
function getPhoto(src, callback){ // 画像url, コールバック
 if("string" != typeof src) return;
 var img = document.createElement("img");
 var func = ("function" == typeof callback)?callback:new Function();
 img.onload = function(){
  func.call(img);
  img = func = null;
 };
 img.src = src;
}
//-->
</script>
</head>
<body>

<p>
<input type="button" value="test"
onclick="getPhoto('img/photo01.jpg', function(){alert(this.width);})">
</p>

</body>
</html>

ご質問の意味をよくわかっていませんが…


以下、雰囲気のサンプル。
画像を取得するのに多少なりとも時間がかかるので、コールバックで処理するようになっています。
(とりあえず、取得したらwidthをアラートするサンプル)

(全角空白は半角に)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head><title>sample</title>
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script type="text/javas...続きを読む


人気Q&Aランキング

おすすめ情報