トップページphp
983コメント364KB

<%= ASP総合 %> Part.4

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/07/03(日) 12:27:28ID:???
レガシASPについて語るスレです。質問や雑談もOK。
何より手軽なので社内イントラであればまだまだ第一線です。
ASP.net については専用スレッドでお願いします。

関連スレ:
【質問】ASP.NETスレ Part2【議論】
http://pc8.2ch.net/test/read.cgi/php/1111480331/

過去スレ:
==ASP== Part 3
http://pc8.2ch.net/test/read.cgi/php/1059401269/
==ASP== Part 2
http://pc2.2ch.net/php/kako/1028/10280/1028024916.html
==ASP==
http://pc.2ch.net/php/kako/984/984840107.html
0002nobodyさん2005/07/03(日) 13:09:24ID:???
0003nobodyさん2005/07/03(日) 15:18:57ID:???
ASP@IIS6 でのUnicode対応についてご質問です。

最近まで日本語Onlyで稼動していたシステムに中国語での入力が加わることになり、
Unicode対応を進めております。
中国に設置したWindows2003Server中国語版でのテストでは、
全ソースの文字コードをUTF-8に変換 & Codepage=65001を指定
上記2点の対応で、日本語(半角カナ含む)、中国語(簡体字)の入力、DBへのデータ登録が可能となり
安心していたのですが、
日本側でテストを行ったところ、ブラウザから送信されたデータをサーバーが受け取った時点
(Request.Formメソッドで文字列を取得した時点)で簡体字が化けて(該当文字コードが見つからず’?’に置換される)
しまいます。
状況を確認したところ
・Requestオブジェクトへはデータが正しく送信されている
・Request.Fromメソッドで文字列を取得する際に化けている

これはIISの設定や、ASP側での何らかの対応によって回避できるものなのでしょうか?

0004nobodyさん2005/07/04(月) 10:29:15ID:???
>>3
000542005/07/04(月) 10:32:11ID:???
>>3
スマソ。途中で送信してしまった。

Response.Charset = "UTF-8"
Session.CodePage = 65001
もきちんと記述。

ブラウザからはUTF-8で送信してもらう。

これでもダメ?
0006nobodyさん2005/07/04(月) 14:31:38ID:AwbPzfS8
>>1
乙。
確かに、社内用なら効率も稼動数もASPが一位だろうな。
000732005/07/04(月) 21:40:17ID:???
>>5
書くのわすれてました。
Response.CharSet="UTF-8"と
Session.Codepage=65001も付けてます。
RequestオブジェクトへはUTF-8で送信されてきている模様なんですが
(デバッガでとめて中身みると1文字が3バイトで送信されてました)
Request.Formメソッドを通って変数へ値をほりこむと?に変換されてしまっています。
中国語環境で試したときは、それまで扱えなかった半角カナが扱えるようになったので、
日本語環境でも同じようにすれば簡体字を扱えるようになるかなとおもったのですが・・・
0008nobodyさん2005/07/04(月) 23:41:52ID:???
>>7
中国語とUnicodeってやったことないから
適当なことしか言えないんだけど、
すべての文字がだめなの?
日本語も?
あとQueryStringだとどう?
000932005/07/05(火) 00:28:35ID:???
>>8
すべての文字がってわけではなく、
日本語はOKで簡体字が?に置換されてます。
感じとしてはSJISで定義されてない文字が化けてるのかな?と
ソース上で出きるCodePageの指定はやってますし、
Request.Formメソッドで変換に失敗してるっぽいのでIISの設定とかなのかなぁと(´・ω・`)
Queryでも同じ結果です。
Requestオブジェクト内にはエンコードされたコードが入ってて(Formと同じコードです)
Request.QueryStringメソッドで取り出すと?に・・・
RequestのメソッドがUTF-8に対応してないとかなのかなぁ・・・
0010nobodyさん2005/07/05(火) 02:26:01ID:???
(Linux or FreeBSD or Solaeis or MaxOSX)+Apache+(Perl-CGI or PHP or JSP+Tomcat)
の環境に変更してみてはどうか?
0011nobodyさん2005/07/05(火) 21:38:11ID:pwY9dvvb
>>9
SP1?
0012nobodyさん2005/07/05(火) 23:15:26ID:???
>10
このスレ的にはせめて
Apache+Perl+Apache::ASP
ジャマイカ
0013nobodyさん2005/07/06(水) 05:49:35ID:???
>・Requestオブジェクトへはデータが正しく送信されている
の中身と

>・Request.Fromメソッドで文字列を取得する際に化けている
の中身が知りたいなぁ。

IEからのリクエストはUTF-8で送ってるんだよね?
@CodePage=65001 なんだよね?
Request.QueryString で取れそうなもんだが。。。
0014nobodyさん2005/07/24(日) 08:44:24ID:???
BASPでメール受信してる香具師っている?
0015nobodyさん2005/07/24(日) 21:09:23ID:fn1pPtpi
>>14
昔コレ使ってWebMail作ったことがある。
0016nobodyさん2005/07/25(月) 11:49:09ID:???
>>14 FTPとか、画像関連は使っているけどメールはないなあ。
0017nobodyさん2005/07/25(月) 13:51:39ID:???
>>14
漏れは使ってないけどこんなの使ってる奴が知り合いにいる。
ttp://homepage2.nifty.com/wadataku/htj/htjwm/
0018nobodyさん2005/07/25(月) 19:59:54ID:YXDkZe5L
>>17
この作者もそうだけど、ADOからmdb扱うのにODBC経由しないといけないと思ってるヤツ
どうにかならないのだろうか?
0019nobodyさん2005/07/25(月) 21:37:32ID:???
俺仕事で使ってたんだけど、メールを取り込むメソッドに
仕様漏れとかバグとか多すぎね?

凹んだ仲間はいませんか。
0020152005/07/25(月) 22:09:57ID:???
>>19
ノシ
0021nobodyさん2005/07/25(月) 23:02:48ID:???
>18
漏れが今売られてる先の既存レガシASP
SQL Server2000相手にADOで繋ぐのにわざわざODBC噛ましてる奴ばっかしorz
0022nobodyさん2005/07/26(火) 20:41:09ID:M6o38FgU
セッション数を取得する方法ってありますか?
今何人ログオンしているか知りたいんですけど。
0023152005/07/26(火) 22:14:07ID:???
>>22
Session_On_Start
Session_On_End
にApplication変数入れれば良い。
たまにおかしくなるけど
0024152005/07/26(火) 22:16:07ID:???
>>22
Session_On_Start
Session_On_End
にApplication変数入れれば良い。
たまにおかしくなるけど
0025152005/07/26(火) 22:17:15ID:???
>>22
Session_On_Start
Session_On_End
でApplication変数を+1、−1すれば良い。
0026nobodyさん2005/07/26(火) 22:18:45ID:???
>>22
Session_On_Start
Session_On_End
でApplication変数を+1、−1すれば良い。
0027nobodyさん2005/07/26(火) 22:21:51ID:???
>>22
Session_On_Start
Session_On_End
でApplication変数を+1、−1すれば良い。
0028nobodyさん2005/07/26(火) 22:45:27ID:???
。゚(゚´Д`゚)゜。ウァァァン
連投スマソ
Janeがおかしい
0029nobodyさん2005/07/28(木) 22:38:18ID:???
>>21
Microsoft データリンク(拡張子=udl)で、
Microsoft OLE DB Provider for SQL Server というのを使用していますが、
これは正解ですか?
0030nobodyさん2005/07/28(木) 22:56:45ID:6dRpupV3
グラフの表示について教えてください。
ASPを使ってSQLServerに接続しデータを取得して
その結果をグラフで表示したいと思います。
そんなこと(動的にグラフ作成)をやるには
どうしたら良いのでしょうか?
0031212005/07/28(木) 23:16:19ID:???
>29
少なくとも、ODBC経由ではない。
そして漏れ的には正解と思うっす。
0032nobodyさん2005/07/29(金) 00:54:25ID:???
>30
とりあえずDoodleでごりごり描くとか? 高負荷での使用はお勧めしないらしいけど。
ttp://www.vector.co.jp/soft/dl/winnt/prog/se219120.html
商用のチャートコンポーネントは沢山あるが、オフスクリーンで描けるかどうかよくワカランのが多いなぁ
0033nobodyさん2005/07/29(金) 10:16:34ID:vFMET1j+
すみません。教えてください。

ADO接続したOracleのストアドパッケージのプロシージャを実行するのはどうすればいいのでしょうか。
引数、戻り値共ありません。実行するのみです。

ある書式でCommandTextを指定するだけなのでしょうか。
oo4oでしか出来ないなんてことも聞いた(見た)事があるのですが、
果たして出来るのかどうかも分からないのです。

環境:
Windows Server 2003
IIS6.0
Oracle 10g
IE 6.0
0034332005/07/29(金) 10:19:00ID:vFMET1j+
33です。
書き忘れてましたが、ASPでの開発です。
ScriptはVBScriptです。
お願いしますm(_ _)m
0035nobodyさん2005/07/29(金) 22:01:28ID:???
>>30
棒グラフなら簡単にできるよ
0036nobodyさん2005/07/30(土) 00:17:06ID:???
Flashでグラフ書くとか。あとはExcelを生成するとか。
0037nobodyさん2005/07/30(土) 00:17:51ID:???
ストアドプロシージャなら、ADODB.Commandオブジェクトで実行できるんじゃね?
Oracleは使った事がないからわからんけど。
0038nobodyさん2005/07/30(土) 21:32:49ID:???
>>30 Flashが作るのも簡単だし、負荷もやさしいな。
0039nobodyさん2005/07/30(土) 22:48:19ID:???
イントラとかならOffice Web Componentsを使う手もあるな
0040nobodyさん2005/07/31(日) 00:10:17ID:???
>>30
もしブラウザ側でプラグインを必要とするのが嫌っていうんだったらVMLオススメ。
案外楽。
難点といえばドキュメントの類があまり無いってところかw
0041nobodyさん2005/07/31(日) 19:21:59ID:???
>>31
レスども!さんくす。
0042take2005/08/03(水) 01:33:59ID:3G0F5eI3
はじめまして。現在iモード用のページを作成しています。
言語はASP(JScript)を選択しました。

<SCRIPT LANGUAGE=JScript RUNAT=Server>
var out = "";
out += "<HTML>";
out += " <HEAD>";
out += " <TITLE>TEST</TITLE>";
out += " </HEAD>";
out += " <body>";
out += " <a href='./scr/test1.asp'>テスト1</a>";
out += " <br>";
out += " <a href='./scr/test2.asp'>テスト2</a>";
out += " </body>";
out += "</HTML>";
Response.Write(out);
</SCRIPT>

上記のようなソースを作成して携帯からアクセスしたところ、
認証タイプに未対応です(401)と表示されてしまいます。
↑このメッセージの意味も不明なのですが…

JavaScriptだけではなく、JScriptもやっぱりiモードでは実行不可能でしょうか?
因みに、VBScriptは表示できました。
0043nobodyさん2005/08/03(水) 21:06:59ID:???
>>42
ちゃんとサーバ内で実行されていれば
JScriptだろうがVBScriptだろうが関係ないだろ。

<SCRIPT runat=>じゃなくて
普通に<% %>で囲んでやってみたら?
0044432005/08/03(水) 21:08:10ID:???
ちなみにその場合はIISの設定でサーバ側の言語をJScriptにする必要がありマンモス
0045nobodyさん2005/08/03(水) 23:18:21ID:???
メッセージのとおりiモードが未対応な認証で保護されてんじゃねーのかい。そのページが。
ってもどんな認証なのかはしらんけども。
なんかそのページがおいてあるディレクトリに基本認証が設定されてるとかさ。
でも、VBScriptと同じ場所にJScriptのソースを置いてあるならそれはないのか。
0046take2005/08/04(木) 00:28:00ID:rNW1W7Vo
アドバイスありがとうございました!試してみましたm(__)m
しかし、どうやらソースの問題ではなくIISの設定の問題のようです。
理由として・・・

・既存のWEBサイトは2つ用意しているんですが、もう片方のサイトの方にASPを置いたところ表示できました。
・iモードからでなく、PCから接続しようとした際に、以下のように表示される。
 --------------
 このページを表示する権限がありません
 HTTP エラー 401.5 - 権限がありません : ISAPI または CGI アプリケーションによって、認証が失敗しました。
 --------------

プロパティで両WEBサイトの設定の違いを見てはいるのですが、どうもどちらも同じようです…(泣)
0047nobodyさん2005/08/04(木) 01:50:34ID:???
>>46
そのエラーはNTFSのACLに引っかかってる場合が多い。
0048nobodyさん2005/08/04(木) 07:14:06ID:???
aspファイルの権限も確認してみたら?
0049nobodyさん2005/08/06(土) 01:14:40ID:qxFS+q97
グラフツールの業界標準ソフトって何ですか?
0050nobodyさん2005/08/06(土) 07:55:05ID:???
マジレスするとExcel
0051nobodyさん2005/08/06(土) 12:23:15ID:???
IPアドレスの文字列"192.168.0.1"などを
10進数の数値に変換したいのですが何かよい関数はありますか?
もちろん自作することは可能ですが既にあるなら利用したいのです。
よろしくお願いします。
0052nobodyさん2005/08/06(土) 18:53:49ID:???
安直にやってみる。エラーチェック無し。

 ary = split( txtIP , ".")
 valIP = ary(0)*(256^3) + ary(1)*(256^2) + ary(2)*256 + ary(3)

まあ大抵はreplace(txtIP , "." , "")とかでも十分そうだがな
0053nobodyさん2005/08/06(土) 19:06:15ID:???
>>52
ありがとん。

>まあ大抵はreplace(txtIP , "." , "")とかでも十分そうだがな

これはどういう意味ですか?


0054nobodyさん2005/08/06(土) 21:58:30ID:???
>>53
だがそれだと例えば
192.168.1.111
192.168.11.11
192.168.111.1
が全部同じ1921681111になってしまうからダメだよな。

つかそれって下手するとlong型で扱えない罠がありそうだ。
0055nobodyさん2005/08/07(日) 01:31:56ID:???
>>51
単に数字を三桁にすれば良いのでは?
192.168.0.1

192168000001
0056nobodyさん2005/08/07(日) 14:22:24ID:???
>>55
わざわざ3桁に文字列加工するんだったら
>>52のやり方の方がスマートに見える
0057nobodyさん2005/08/07(日) 15:33:32ID:???
>>55
ああ、その手があるね。
DBとかに詰め込んだりしてリスト表示したり、デコードのことを考えると>>53より>>55の方がいいかもね
0058512005/08/07(日) 21:32:03ID:???
ary = split( txtIP , ".")
valIP = ary(0)*(256^3) + ary(1)*(256^2) + ary(2)*256 + ary(3)

以外はネタだと思ってましたがw
0059nobodyさん2005/08/10(水) 14:21:41ID:SGllzMlg
>DBとかに詰め込んだりしてリスト表示したり、デコードのことを考えると>>53より>>55の方がいいかもね
それでも桁揃えするメリットが分からない私はバカ?
0060nobodyさん2005/08/10(水) 19:20:51ID:???
> valIP = ary(0)*(256^3) + ary(1)*(256^2) + ary(2)*256 + ary(3)
ってどうやって元に戻せばいいんですか?
0061512005/08/10(水) 22:30:15ID:???
工エエェェ(´д`)ェェエエ工工
0062522005/08/10(水) 22:55:41ID:???
>>60
dim ary(3)
for i = 3 to 0 step -1
ary(i) = valIP mod 256
valIP = valIP \ 256
next
strIP = join(ary,".")
0063572005/08/10(水) 23:50:26ID:???
>>59
ログファイルとかでIP保存するときは
桁が揃った方が出力したときに見やすいと思った。

ちょうど >>62 で >>52 さんがデコード方法が書いてくれてるけど、
これだと、SQLの実行結果に処理入れなきゃいけないでしょ?

mod(strIP,(256^4)) & "." & mod(strIP,(256^3)) & "." & mod(strIP,(256^2)) & "." & mod(strIP,256)
ってビュー作ればいいだけの話だけどさ。

まぁこれは運用次第だけどね。
確かに256使った方が列のサイズが少なくなりそうだし。
0064572005/08/10(水) 23:52:09ID:???
あ、strIPじゃないね。スマソ
0065nobodyさん2005/08/11(木) 11:06:35ID:???
IPアドレスとはそもそもどういったものなのか?
なぜ256という数字がいきなりでてくるのか?
0066nobodyさん2005/08/11(木) 11:16:10ID:???
>>65
256=1バイト
0067nobodyさん2005/08/11(木) 11:19:35ID:???
IPアドレスは本来32ビットの数値だよ。
それを人間がわかりやすくするために
1バイト単位に区切ってそれを10進数表記したものが
192.168.0.1とかの文字列になるんだよ。
0068nobodyさん2005/08/11(木) 22:28:03ID:???
tmpary = split(txtIP,".")
for i=0 to ubound(tmpary)
tmpary(i) = right("00" & tmpary(i),3)
next
txtIP = join(tmpary,".")

0埋めとか桁あわせとかってあんまり格好良く書けねんだよな
0069nobodyさん2005/08/12(金) 00:58:35ID:???
>>68
format関数でいけるんでない?
■ このスレッドは過去ログ倉庫に格納されています