WindowsNTサーバにおけるJavaScriptプログラムでWindows Openパラメタに画面表示のための情報を引き渡しているのですが、そのなかで、漢字情報を引き渡す場合に引渡し先画面において文字化けが発生しました。引渡し元画面での漢字については、正常に漢字情報としてパラメタに渡しているのですが、その後の関連がはっきりしません。原因がはっきりすれば今後のさまざまな対応が出来そうなので、詳しい人の情報をお願いします。

A 回答 (1件)

そもそもになってしまいますが、HTTP通信におけるGET渡しのパラメータに


2byteコードの文字を使用する場合、エンコードをするのが一般的です。

JavaScriptにescapeという関数がありますのでそちらをご使用下さい。

str = "漢字送信";
window.open("next.asp?str=" + escape(str));

エンコードした後はデコードで文字列を復元して下さい。

#もしかするとブラウザが勝手にデコードしてくれるかもしれません。

文字コードは割と躓きやすい所なので一度きちんと調べて見た方がいいと思います。

ちょっと動作確認をしていないのであてずっぽうなんですが、
お役に立てれば幸いです。的外れならごめんなさい。

参考URL:http://www.openspc2.org/JavaScript/ref/convert/e …
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

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

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

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

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

Aベストアンサー

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

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

Qwindow.openでreferer情報を取得する方法

アクセスログ解析で、サイト内の遷移分析をしたいのですが
window.openで展開しているページでは、
referer情報がアクセスログに出力されず
遷移が追えません。

refererを取得する方法はありますでしょうか?

宜しくお願いします。

Aベストアンサー

できませんが、phpやcgiでrefererがない文書を
アクセスさせないような仕組みならつくることが
できるでしょう。
そこまでする意味があるかは運用の方法次第ですが

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

outlookexpress6を使用しています。

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

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

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

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

Aベストアンサー

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

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

Qwindow.openで同画面遷移しない

window.openで別窓でウィンドウを開き、開いたウィンドウは親ウィンドウにあるリンク1、リンク2、リンク3をクリックすると別窓で開いたウィンドウが同画面遷移で変わるようにしたいのですが、IEで各リンクをクリックすると新規ウィンドウが立ち上がってしまいます。Firefoxでは問題ないのですが。

<head>~</head>内に以下のjavascriptを書きました。

<script type="text/javascript">
<!--
function winOPEN(URL,winName) {
window.open(URL, 'window1', 'width=400, height=300, menubar=no, toolbar=no, scrollbars=yes');
}
// -->
</script>

またリンクのhtmlは以下のようにしました。

<ul>
<li><a onClick="winOPEN('URL','window1')" title="" href="#">リンク1</a></li>
<li><a onClick="winOPEN('URL','window1')" title="" href="#">リンク2</a></li>
<li><a onClick="winOPEN('URL','window1')" title="" href="#">リンク3</a></li>
</ul>

どこがいけないのでしょうか。教えてください。

window.openで別窓でウィンドウを開き、開いたウィンドウは親ウィンドウにあるリンク1、リンク2、リンク3をクリックすると別窓で開いたウィンドウが同画面遷移で変わるようにしたいのですが、IEで各リンクをクリックすると新規ウィンドウが立ち上がってしまいます。Firefoxでは問題ないのですが。

<head>~</head>内に以下のjavascriptを書きました。

<script type="text/javascript">
<!--
function winOPEN(URL,winName) {
window.open(URL, 'window1', 'width=400, height=300, menubar=no, toolbar=n...続きを読む

Aベストアンサー

別窓でウィンドウを開くJavaScript関数と、そのウィンドウのURLを変更するJavaScript関数を別々に設定してみてはいかがでしょう?window.openの第2引数で設定しているウィンドウ名と、locationで設定を変更するウィンドウ名を同じにすることを忘れずに。

<script type="text/javascript">
<!--
function winOpen(URL,winName) {
window.open(URL, 'winName', 'width=400, height=300, menubar=no, toolbar=no, scrollbars=yes');
}
function setURL(url) {
winName.location.href = url;
}
// -->
</script>

Q 文字化けの修復方法

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

Aベストアンサー

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

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

Q子画面からwindow.openを開いた場合にfirefoxで処理が実行されない

~JavaScript~
var sub = window.open(~);

if (sub.document.getElementById("Id") != null) {
 // IE
} else {
 // ChromeまたはFirefox
 sub.onload = function() {
  // A処理
 }
}

「window.open」で開いた子画面から上記の処理を実行しています。
IE、Chromeでは正常に処理が実行されますがFirefoxだと処理が実行されず「A処理」が実行されません。
分岐の中には入りますが「sub.onload」の中に入りません。
無限ループの中で「readyState=="complete"」の場合にループを抜ける処理も試しましたが
ループから抜けませんでした。
どうすれば処理が実行されるのでしょうか。

Aベストアンサー

いろいろ試してみましたが、結構めんどうな案件ですね

結論からいえば、ccc.htmlが自らonloadで制御しないと無理そうです。
ただしccc.htmlが自分自身の属性を知るためにはbbb.htmlから
パラメータを渡さなくてはいけないので、hrefのsearchかhashで処理してください

参考までに
//aaa.html
<script src="test.js"></script>
<a href="#" onclick="return bbbOpen();">bbb</a>

//bbb.html
<script src="test.js"></script>
<a href="#" onclick="return cccOpen('a');">ccc-a</a>
<a href="#" onclick="return cccOpen('b');">ccc-b</a>

//ccc.html
<script src="test.js"></script>
<script>
window.onload=function(){cccLoad();}
</script>
<div id="ccc-a">あああ</div>
<div id="ccc-b">いいい</div>

//test.js
function bbbOpen() {
window.open('bbb.htm','bbb','width=300,height=200');
return false;
}
function cccOpen(v) {
window.open('ccc.php?flg='+v,'ccc','width=300,height=200');
return false;
}
function cccLoad() {
var s=location.search;
if(s.indexOf("?")==0){
if(s.match(/a$/)){
document.getElementById("ccc-a").style.display="";
document.getElementById("ccc-b").style.display="none";
}else if(s.match(/b$/)){
document.getElementById("ccc-a").style.display="none";
document.getElementById("ccc-b").style.display="";
}
}
}
※チェックが超てきとーなので、しっかりやるためにはsearchからflagの内容を
抜き出して、整合性のチェックをする必要があります

いろいろ試してみましたが、結構めんどうな案件ですね

結論からいえば、ccc.htmlが自らonloadで制御しないと無理そうです。
ただしccc.htmlが自分自身の属性を知るためにはbbb.htmlから
パラメータを渡さなくてはいけないので、hrefのsearchかhashで処理してください

参考までに
//aaa.html
<script src="test.js"></script>
<a href="#" onclick="return bbbOpen();">bbb</a>

//bbb.html
<script src="test.js"></script>
<a href="#" onclick="return cccOpen('a');">ccc-a</a>
<a href="#" onclick="return ...続きを読む

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

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

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

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

Aベストアンサー

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

Qwindow.openで情報を引き継ぎたい

現在、<a>リンクにクエリを記述して、次ページに飛ばしています。
taget=_blankにしていますが、ウィンドウサイズを指定したいので、window.open()を使用しようかと思ったのですが、そうすると、情報の引継ぎができません。

何かよい案はないでしょうか?

Aベストアンサー

>ところで、タブブラウザの場合、新規ウィンドウで開きたかったら
window.open又はtarget="_blank"のリンク、つまり従来と同じです。
ただ、同じように書いても、ブラウザの設定内容によって、新規ウィンドウになったり別タブになったり動作が違います。

フローティングレイヤとかモーダルダイアログ、仮想ウィンドウを開くとか、代わりになるような仕組みも色々あります。
興味があるなら、上記の単語を検索してみてください。

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

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

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

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

Aベストアンサー

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

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

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

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


ご参考までに。

Q既存のJSコードをHTMLサンプルに組み込みたい(日本語漢字の中国漢字

既存のJSコードをHTMLサンプルに組み込みたい(日本語漢字の中国漢字に変換)

以下のJSサンプルがあります。

簡体字と日本語漢字の相互変換ツール Kanconvit を公開
http://blog.livedoor.jp/dankogai/archives/51224227.html

これを、文末のHTMLサンプルに組み込み、次の動作をさせたいのですが、JSのサンプルコードをご教示いただけますと幸いです。

(1) 一行にテキストフォームが8つあり、各行ごと処理するボタンが設置されている。
(2) ボタンを押下すると、8フォームに対して、上段(緑)の日本語文字列が、中国語漢字に置換されて下段(黄)に中国語文字列が表示される。
(3) 対象漢字がない場合や、ひらがな/カタカナは変換せず、元の漢字を表示。
(4) 【参考】変換結果は、各行ごと配列に格納し、PHPでMySQLに格納されます。

※名簿の下訳(省力化)が目的であり、厳密な「翻訳」を期待するものではありません。

※HTMLサンプルが長いので、回答No1に示します。

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

既存のJSコードをHTMLサンプルに組み込みたい(日本語漢字の中国漢字に変換)

以下のJSサンプルがあります。

簡体字と日本語漢字の相互変換ツール Kanconvit を公開
http://blog.livedoor.jp/dankogai/archives/51224227.html

これを、文末のHTMLサンプルに組み込み、次の動作をさせたいのですが、JSのサンプルコードをご教示いただけますと幸いです。

(1) 一行にテキストフォームが8つあり、各行ごと処理するボタンが設置されている。
(2) ボタンを押下すると、8フォームに対して、上段(緑)の日本語文字...続きを読む

Aベストアンサー

#2です。

説明をしていると長くなりますが、要素を特定する方法をどのように考えるかということで、単純化できればそれだけ処理を簡単にできると言う意味です。
想像するところ、ソースはサーバー側のソフトから自動出力されるもののようなので、ソースの間違いまでは考慮しなくても良さそうではありますが…

HTMLを変更しても良いのか不明ですが、例えば以下のサンプルのようにすれば、対になるinputが必ず連続するようになるかと思います。
#2の例では変換対象の識別に「type、class名」を、対の識別に「type、name、class名」で確認していましたが、簡略化して、変換対象はclass="jp"のものとし、対のものはその直後のinput(かつclass="cn")と限定しています。

ついでに、入れ子のtableもはずしてあります。
(ダミーのKanconvitが入っていますので、削除してください。)

文字数制限の都合上分割されちゃいます。
(例示のセットも2個。スクリプトに必要のない属性も省略しました。)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head><title>test</title>
<style type="text/css">
table#nameList {
border-collapse: separate;
border-spacing:2px;
border:1px solid #ccc;
border-bottom-color:#444;
border-right-color:#444;
}
table#nameList td {
border:1px solid #ccc;
border-top-color:#444;
border-left-color:#444;
}
table#nameList td div {
margin-left:2px;
float:left;
}
table#nameList input { width:18em; }
table#nameList td.L4 input { width:4em; }
table#nameList input.jp { background-color: #cfc; }
table#nameList input.cn { background-color: #ffc; }
</style>
</head>
<body>
<table id="nameList">
<tr>
<td rowspan="3" class="L4">
<div><input value="高橋" class="jp"><br><input value="" class="cn"></div>
<div><input value="一郎" class="jp"><br><input value="" class="cn"></div>
</td>
<td>肩書1</td>
<td><input value="社名1" class="jp"><br><input value="" class="cn"></td>
<td><input value="役職1" class="jp"><br><input value="" class="cn"></td>
<td rowspan="3">
<button type="button">中国語<br>←漢字変換</button>
</td>
</tr>
<tr>
<td>肩書2</td>
<td><input value="社名2" class="jp"><br><input value="" class="cn"></td>
<td><input value="役職2" class="jp"><br><input value="" class="cn"></td>
</tr>
<tr>
<td>肩書3</td>
<td><input value="社名3" class="jp"><br><input value="" class="cn"></td>
<td><input value="役職3" class="jp"><br><input value="" class="cn"></td>
</tr>

#2です。

説明をしていると長くなりますが、要素を特定する方法をどのように考えるかということで、単純化できればそれだけ処理を簡単にできると言う意味です。
想像するところ、ソースはサーバー側のソフトから自動出力されるもののようなので、ソースの間違いまでは考慮しなくても良さそうではありますが…

HTMLを変更しても良いのか不明ですが、例えば以下のサンプルのようにすれば、対になるinputが必ず連続するようになるかと思います。
#2の例では変換対象の識別に「type、class名」を、対の識別に「type...続きを読む


人気Q&Aランキング