【 HP作成質問箱 】

新しい質問は「新規入力」ボタンをクリックしてください。
| Back | Next | Page-5

【HP作成質問箱/詳細】 一覧 / 詳細

  No.9954 文字化け
[oyama] [ブラウザ]  09/06/15 (月) 09:45
PHPは文字化けしないのですが、

$param=@ARGV[0];

http://○○○/exa.cgi?ANIMEドラえもん

URLに日本語が含まれていると、日本語が文字化けして今います。
対策方法は無いでしょうか?
  No.9955 Re:文字化け
[oyama] [ブラウザ]  09/06/15 (月) 09:52
「追加」
CGI(Perl)だと、文字化けしてしまいます。
  No.9956 Re^2:文字化け
[atom] [ブラウザ]  09/06/15 (月) 10:17
Perlは基本的にeuc-jpコードが標準のようです。
Windowsは基本sjisですよね?
その文字コードの違いにより文字化けするのです。

入力パラメータで日本語を扱うには、日本語処理の機能を組み込む必要があります。

掲示板で説明するのは難しいので、Googleの検索結果を貼っておきます。
http://www.google.co.jp/search?hl=ja&q=perl+%E6%97%A5%E6%9C%AC%E8%AA%9E+%E5%A4%89%E6%8F%9B&lr=&aq=4&oq=perl+%E6%97%A5%E6%9C%AC%E8%AA%9E

  No.9959 Re^3:文字化け
[oyama] [ブラウザ]  09/06/15 (月) 20:05
require "jcode.pl";
$param=@ARGV[0];
jcode::convert(\$param,'euc');
print $param;

と記述しましたが、サーバーエラーでは無いようですが、
何も表示されません。
  No.9960 Re^4:文字化け
[atom] [ブラウザ]  09/06/15 (月) 23:04
「jcode.pl」は同一フォルダに設置しましたか?

どんな状態でテストされてるのかよくわかりませんが、上記のような記述ではエラーで実行されないでしょう?

通常であれば、まずは次のようなテストをするべきですが。
このような簡単なテストはされたのでしょうか?

難しいことを一度にせず、簡単なテストをたくさん繰り返して、どこまでなら正しく動作するのか、テストをすべきですよ。

#!/usr/bin/perl
#↑この行は半角で記述する

require "jcode.pl";
$param="日本語テスト";
jcode::convert(\$param,'sjis');

print "Content-type:text/html\n\n";
print $param;
  No.9961 Re^5:文字化け
[oyama] [ブラウザ]  09/06/16 (火) 09:09
>「jcode.pl」は同一フォルダに設置しましたか?
設置しています。

「jcode.pl」を作成し、
http://srekcah.org/jcode/jcode.pl-2.13
からダウンロード(コピー)しました。

しかし、
500サーバーエラーになってしまいます。
require "jcode.pl";
$param="日本語テスト";
jcode::convert(\$param,'sjis');

print "Content-type:text/html\n\n";
print $param;
  No.9963 Re^6:文字化け
[atom] [ブラウザ]  09/06/16 (火) 16:45
私がサーバーでテストしたらちゃんと表示されましたがねぇ。

では2箇所潰した、次のような記述では正常に表示されるのでしょうか?

#require "jcode.pl";
$param="日本語テスト";
#jcode::convert(\$param,'sjis');

print "Content-type:text/html\n\n";
print $param;

それと、テスト用のCGIと「jcode.pl」のパーミッションは「755」になってるでしょうか?
  No.9964 Re^7:文字化け
[oyama] [ブラウザ]  09/06/16 (火) 19:31
はい。
正常に表示されました。
  No.9965 Re^8:文字化け
[atom] [ブラウザ]  09/06/16 (火) 22:27
では、

require "jcode.pl";
$param="日本語テスト";
#jcode::convert(\$param,'sjis');

print "Content-type:text/html\n\n";
print $param;


これでは?
この方法は、定義しただけで実際には呼び出してません。
  No.9966 Re^9:文字化け
[oyama] [ブラウザ]  09/06/17 (水) 08:42
ありがとうございます。

サーバーエラーが発生してしまいました…
  No.9967 Re^10:文字化け
[atom] [ブラウザ]  09/06/17 (水) 18:07
となると、

require "jcode.pl";

この行がおかしいということになります。

これは単純に「jcode.pl」を読み込むだけですが、それがエラーになるということですね。

なら、
1.「jcode.pl」が存在しない。
2.「jcode.pl」が壊れてる。
3.「jcode.pl」が正しく設置できてない。
4.パーミッションが間違ってる。

などが考えられます。

サーバーに設置した「jcode.pl」のファイル名を「jcode.txt」に変更し、この掲示板に添付してください。

こちらでも確認してみます。
  No.9968 Re^11:文字化け
添付 [oyama] [ブラウザ]  09/06/17 (水) 19:38
ありがとうございます。
ファイルを振付けます。
  No.9969 Re^12:文字化け
[atom] [ブラウザ]  09/06/17 (水) 19:47
やっぱり..

これじゃあエラーになります。
改行が全く入ってません。

画面上のものをそのままコピーしましたね。
本当は「ソース表示」してそれを張りつけるか、ちゃんとダウンロードしないとだめですよ。

次の方法を試してみてください。
1.そのリンクを右クリック
2.「対象をファイルに保存」をクリック
3.名前を「jcode.pl」にして保存

それでもうまくいかない場合はこちらで方法を考えます。
  No.9970 Re^13:文字化け
[oyama] [ブラウザ]  09/06/17 (水) 19:54
ありがとうございます!
試してみたら上手くいきました!

しかし、
【記述】
require "jcode.pl";
$param=@ARGV[0];
jcode::convert(\$param,'sjis');

print "Content-type:text/html\n\n";
print $param;

【アクセス】
http://○○○/exa.cgi?ANIMEドラえもん

パラメータを取得すると、文字化けしてしまいます
  No.9971 Re^14:文字化け
[atom] [ブラウザ]  09/06/18 (木) 12:47
いろいろ調べてみました。

すると「jcode.pl」は、内部(スクリプト内)の文字のコード変換には有効ですが、パラメータ入力の日本語に対してはどうしてもうまくできませんでした。

それはブラウザが標準でsjis、ところがperlはeucが標準のため、パラメータを受けた時点で既に文字化けしてる可能性がありそうです。

そこで、よそ様のcgi、また、このサイトの提供しているスキンボードcgiで使用している方法の方が近道だと感じてきました。

それは「cgi-lib.pl」を使用する方法です。

■ 作成サンプル
require 'cgi-lib.pl'; #&ReadParse(*in)の為必要

&ReadParse(*in);

( $key, $value ) = each( %in );
print "Content-type:text/html\n\n";
print "$key";

です。

また、呼び出し方法は、urlエンコードをして呼び出す必要があります。

×exa.cgi?ANIMEドラえもん
○exa.cgi?ANIME%83h%83%89%82%A6%82%E0%82%F1

上記の説明で専門的な知識がいろいろ出てきますが、ネット検索などで調べてください。
ここの掲示板で説明してるときりがありませんから。
  No.9972 ありがとうございました
[oyama] [ブラウザ]  09/06/18 (木) 20:47
ありがとうございました。
  No.9947 リンクについて
[ES] [ブラウザ]  09/06/12 (金) 16:13
2つのフォームを使って1ページとしています。
上下にわかれているのですが、上は、ホームとか問い合わせとかで、
下はページによってそれぞれ変えたいのですが、
このとき、問い合わせにリンクをはっても、
上のページ上でリンクされるだけで下は変わりません。
もしかしてこういうものですか。
常に上の部分はどこのページに行っても同じにしたくて、
やってみたのですが。。
どのようにすればいいか教えてください。
  No.9949 Re:リンクについて
[atom] [ブラウザ]  09/06/12 (金) 21:07
う~ん..フォームではなくフレームのことかな?

フレームで上下2分割し場合、何も指定がなければ、それぞれが独立して動作します。

ただ、aタグの「target」属性を使えば多少のコントロールはできます。
クリックすると下のフレームだけページ変更するなどのコントロールができるようになります。

「target」属性は、ここのサイトの「htmlの解説」などにもありますが、少しややこしいかもしれません。

  No.9957 Re^2:リンクについて
[ES] [ブラウザ]  09/06/15 (月) 14:06
> う~ん..フォームではなくフレームのことかな?

そうです。ACCESSの属性と間違って書いてしまいました。
すみません。

> ただ、aタグの「target」属性を使えば多少のコントロールはできます。
> クリックすると下のフレームだけページ変更するなどのコントロールができるようになります。
>
target="_top" と記述することで出来ました。


根本的な問題として、
同じ部分はひとつのHTMLで、フレームを2分割にして
それぞれ下だけを変えていく方が、なんとなくいいのかなと思っていたのですが、
ひとつのフレームで毎回同じ記述部分があっても、それはそれでいいのでしょうか。
何か違いは出てくるものですか?
  No.9958 Re^3:リンクについて
[atom] [ブラウザ]  09/06/15 (月) 15:45
同じ記述がたびたび出てきても何ら問題はありません。

それよりも、フレームページは検索エンジンに引っ掛かりにくい、引っかかってもフレームページとしてではなく、単体ページ表示となりますので、
どこかにフレームページへのジャンプ先リンクなどを記載するなどの工夫があった方がいいでしょう。
  No.9962 Re^4:リンクについて
[ES] [ブラウザ]  09/06/16 (火) 15:11
なるほど。
よくわからないまま作ると危険ですね。
まだアップしていないので、他からどのように見えるか
全然確認できていません。

構成から考えなおそうと思います。
ありがとうございました。
  No.9951 PHP
[oyama] [ブラウザ]  09/06/14 (日) 18:08
返信が出来なかったので再投稿します。

Perlでパラメータ取得
http://beginners.atompro.net/expcgi_cgi10.shtml
ですが、
PHPでも同じように、
パラメータを取得したいです。
可能でしょうか?

filedsp1.cgi?testhtm.dat

のような事をPHPで…
  No.9952 Re:PHP
[atom] [ブラウザ]  09/06/14 (日) 18:48
> filedsp1.cgi?testhtm.dat
> のような事をPHPで…

PHPの場合、サーバー環境に左右されることが多いですが、通常であれば、上記のパラメータは「$_SERVER['QUERY_STRING']」で取得できます。


  No.9953 Re^2:PHP
[oyama] [ブラウザ]  09/06/15 (月) 09:23
ありがとうございました。
  No.9948 PHPについて
[oyama] [ブラウザ]  09/06/12 (金) 19:52
Perlでパラメータ取得
http://beginners.atompro.net/expcgi_cgi10.shtml
ですが、
PHPでも同じように、
パラメータを取得したいです。
可能でしょうか?
  No.9950 Re:PHPについて
[atom] [ブラウザ]  09/06/12 (金) 21:11
もちろん可能です。
PHPのほうがずっとわかりやすいかもしれません。

ここのサイトの「PHPサンプルの作り方」の「ファイルのパーミッション変更ツール」メニューから下が参考になるでしょう。
  No.9941 ソースの表示から変更ができません(泣)
[癒安] [ブラウザ]  09/06/01 (月) 00:37
HPを作成して、また久しぶりにHPの内容を更新しようとHTMLを開いてソースを表示させて編集しようとしたら、いつもと違う表示で、変更できなくなってしまいました。
ソースの表示は、行数が出ていて、カラーの文字でタグなどが区分(?)されている感じです。
自分のPCの設定をなにかいじってしまったのでしょうか?
どうすれば元の変更できるソースの表示にもどるのでしょうか?ご回答よろしくお願いします。
  No.9942 Re:ソースの表示から変更ができません(泣)
[atom] [ブラウザ]  09/06/01 (月) 08:06
今の問題よりも、先に..
あなたはどうやってページを作り、変更があったときはどういう風に変更してたのでしょうか?

まずそれを教えてください。
  No.9944 Re^2:ソースの表示から変更ができません(泣)
[癒安] [ブラウザ]  09/06/02 (火) 12:45
メモ帳からHTMLファイルとして保存して、各々のページを作りました。変更するときは、変更したいHPのファイルをローカルで開いて、HTMLソースから文字など追加したり変更したりしています。
  No.9945 すいませんでした。
[癒安] [ブラウザ]  09/06/02 (火) 13:15
せっかくお返事くださったのにすいませんでした。
なんとか解決できました。
開発者ツール(?)からやって、いつもの表示画面に戻すことができました。
  No.9946 Re:すいませんでした。
[atom] [ブラウザ]  09/06/02 (火) 14:03
そうですか。
でもよかったです。
  No.9939 画像と文字
[ES] [ブラウザ]  09/05/29 (金) 15:19
教えてください。
例:あいうえお(かきくけこ)さしすせそ

()でないところは普通の文字、()の間は画像です。
()のところは強調したいため、イラストに文字を加えた画像となっています。

この時、一列に上記のように並べるため、
tableタグを使用しました。

<table>
<tr align="center" vallgn-"middle"><td>あいうえお</td>
<td background="bluekukan.gif" height=50 width=300 alt="かきくけこ"></td>
<td>さしすせそ</td><tr></table>

このように記述したのですが、これだと画像が、
50,300になっても、画像全体を縮尺してくれるわけでなく、画像が切れてしまいます。
どのように設定したらいいのでしょうか。
  No.9940 Re:画像と文字
[atom] [ブラウザ]  09/05/29 (金) 18:54
ひとつの手として、バックグラウンドではなく「img」タグを使い、次のようにする方法があります。

<table>
<tr align="center" vallgn-"middle"><td>あいうえお</td>
<td><img src="bluekukan.gif" height=50 width=300 alt="かきくけこ"></td>
<td>さしすせそ</td><tr></table>

※バックグラウンドは縮小できません。
 imgタグは見た目の縮小ができます。
  No.9943 Re^2:画像と文字
[ES] [ブラウザ]  09/06/01 (月) 16:27
> ※バックグラウンドは縮小できません。
>  imgタグは見た目の縮小ができます。

そうなんですね。初めて知りました。
本もソフトもない状態で、インターネットの情報を頼りに
HP作成中です。
今後もお世話になるかもしれませんが、
よろしくお願いいたします。
  No.9936 画像についての質問です。
[はな] [ブラウザ]  09/05/26 (火) 19:41
はじめまして!
HPに画像を載せたいのですが、ドラッグ&ドロップ等で画像を取得出来ない様にする方法ってありませんか?
  No.9937 Re:画像についての質問です。
[atom] [ブラウザ]  09/05/26 (火) 19:46
基本的に無いといった方がいいでしょうね。
公開する以上、何らかの形で取得できます。

それを悪用、転用するかどうかは閲覧者側のモラルに委ねられます。

  No.9938 Re^2:画像についての質問です。
[はな] [ブラウザ]  09/05/26 (火) 19:57
返信ありがとうございます!

勉強になりました。
  No.9931 画面サイズが変わっても
[ES] [ブラウザ]  09/05/14 (木) 15:36
全画面だったり画面を小さくしたりしても、同じように見えるようにしたいのですが。
余白というのでしょうか。
画面は、

画像
テーブル

という状況です。
画像はタイトル、テーブルには問い合わせとかホームとか。

%、px? marjin?position?
どれをどう使えばいいのかわかりません。
まだ作成途中なので実際の画面をお見せすることはできませんが、
アドバイスお願いします。
  No.9932 Re:画面サイズが変わっても
[atom] [ブラウザ]  09/05/14 (木) 16:07
画面のイメージを見ないとどう指導していいかわかりませんが..

空白を使わず、センタリングやマージン(余白)を使うのがいいでしょうね。

あと、凝った作りをしないなら、複数のセルを用意したテーブルで全体を囲い、各々のセルの中にコンテンツを埋め込むという方法があります。
初心者にはこの方法が簡単でしょう。

将来的に高度なものを望むようになった時、スタイル属性などを勉強し直したらいいと思います。
  No.9933 Re^2:画面サイズが変わっても
[ES] [ブラウザ]  09/05/14 (木) 16:55
> 空白を使わず、センタリングやマージン(余白)を使うのがいいでしょうね。

やはりマージンですか。ということで、それで作ってみました。
余白だけ%にして、画像などはピクセルで設定しました。

> あと、凝った作りをしないなら、複数のセルを用意したテーブルで全体を囲い、各々のセルの中にコンテンツを埋め込むという方法があります。
> 初心者にはこの方法が簡単でしょう。


初耳!初見?!です。そんな考え方もあるのですね。
なるほど、それだと、セルがそのコンテンツの大きさになるわけですから…
ためしてみたいと思います。

ありがとうございました。
  No.9925 文字列の抽出(変数にフォームデータを代入)
[玉子] [ブラウザ]  09/04/05 (日) 21:45
お勉強させてもらってありがとうございます。
常識なのかもしれませんが、質問させてください。

・CGI(Perl)の解説 >> 11.文字列の抽出とif文の例に
-----------------------------
$a = 'abcdef';
print substr($a,2),"
";
-----------------------------
などとありますが、
$aに固定値ではなく、フォームに入力された文字列を代入する方法を教えてください。
また、print結果をHTMLに表示するにはどうしたらよいでしょうか。
ログ検索しましたが見つけられませんでした。

  No.9926 Re:文字列の抽出(変数にフォームデータを代入)
[atom] [ブラウザ]  09/04/05 (日) 22:48
まず、CGI(Perl)で入力フォームの内容を受け取るにはけっこうややこしいです。

1.「cgi-lib.pl」というPerlのライブラリが必要になり、これを組み込みます。
2.「&ReadParse(*in);」で読み込んでパラメータを「in」と言う変数に代入します。

上記の2ステップを踏めば、「$in{'testno'}」などのように取得できるようになります。

大まかな説明は以上ですが、実際に自分なりに使うとなるなら、かなりいろいろ試行錯誤する必要があります。


まずは簡単なサンプルをネットから探してそれを自分で実行してみることでしょう。
サンプル集はここのサイトの「CGI関連サイト」にもあります。

HTMLのすべてをCGIから出力するのではなく、CGIの出力をHTMLに埋め込みたいなら、SSIが一番簡単です。
SSIは「HP作成の予備知識」で解説しています。

  No.9927 Re^2:文字列の抽出(変数にフォームデータを代入)
[玉子] [ブラウザ]  09/04/07 (火) 10:53
返信が遅れてすみません。
(BBSがアクセス不可でした)
フォームデータの取得はできていたんですが、
文字列の抽出で変数に代入できなくて行き詰っていました。
substr関数で日本語は扱えないのかもしれません。

アドバイスに従い、いろいろ検索してみたんですが、
perl云々には、まだ100年早いような気がしますので、
一から勉強し直すことにしました。

お忙しいところ、お答えありがとうございました。
  No.9928 Re^3:文字列の抽出(変数にフォームデータを代入)
[atom] [ブラウザ]  09/04/07 (火) 16:11
bbsのアクセス不能は失礼しました。
  No.9922 非リンクの仕方を教えてください。
[桜] [ブラウザ]  09/04/03 (金) 03:02
自分のHPアドレスを自分のサイト上に載せたいのですが、リンクできるように自動で下線や色が出てしまいます。

http://~から始まるURLの非リンクの仕方を教えてください。

ちなみに「alphaEDIT」を使用しています。
  No.9923 Re:非リンクの仕方を教えてください。
[atom] [ブラウザ]  09/04/03 (金) 09:27
おかしいですねぇ、普通に文字を入力すれば、勝手にリンクが付く事はないですよ。

なんか勘違いしてませんか?
だって普通に文字を入力するときは勝手にリンクが付きませんでしょう?
それと同じです。

先ほど私がalphaEDITを使って試したら普通の文字でしたよ。
  No.9924 Re^2:非リンクの仕方を教えてください。
[桜] [ブラウザ]  09/04/04 (土) 02:36
アドレスを入力した後に「Enter」を押さずに「↓」で改行すると、そうなってしまうみたいでした。

お騒がせして申し訳ありません。
| Back | Next | Page-5

 一覧 / 詳細


page update:19/01/17 01:34

Copyright (c) 2000-2009, all Rights Reserved & Produced by atom