No. | 質問・回答 | おれい |
|
[73375] Perlにて・・・。 |
|
|
HPでcgiを利用しようと作っているのですが、
DBから入力したデータ(かな)と一致するものを、
取り出したいのですが文字コード?が違うらしく
エラーになってしまいます。
どのようにすればうまくいくでしょうか??
教えていただけないでしょうか?
よろしくお願いします。
内容は下記になります。
$data = テーブル;
my $sth = $dbh->prepare("SELECT * FROM Table WHERE $data = TableName");
ツバサ 2005年12月1日20:58
|
|
|
|
[73380] |
>文字コード?が違うらしく
それは何を見てそう判断されましたか?
エラーメッセージがあったなら、それをそのまま書いてください。
>SELECT * FROM Table WHERE $data = TableName
え〜と...
通常のSELECT文は、
SELECT * FROM テーブル名 WHERE 項目名 = 項目の値
ですが、構文はあっていますか?
DBのテーブル名が何で、検索したい項目名が何かわかりませんのでなんともお答えのしようがありません。
maido (2696) 2005年12月1日22:44
|
|
|
|
[73384] |
ブラウザへの表示が「・オ・ケ・ア」となります。
項目は抽出されて表示までされるので構文は間違ってないと思うのですが。
テーブル名はLyricsで
試しに検索している項目はサスケです。
$dataにサスケを入力しCGIから返ってくるのが
上記の記述道理「・オ・ケ・ア」となります。
DB構成は、
Varchar サスケ
Varchar sasuke
です。
わかりますでしょうか??
ツバサ 2005年12月1日23:08
|
|
|
|
[73387] |
>ブラウザへの表示が「・オ・ケ・ア」となります。
ブラウザはIEですか?
IEなら、表示→エンコード でどのコード体系で表示しているか確認してください。
確認後、他の日本語コードを選択したら表示はどうなりますか?
表示の文字化けだけなら、CGIの出力するコードを明示的に指定するようにすれば直るはずです。
こちらなどを参考にして、Perl書き換えてみてください。
http://www.asahi-net.or.jp/~ax2s-kmtn/ref/html/hp9.html
maido (2696) 2005年12月1日23:25
|
|
|
|
[73389] |
EUCになっていました。
ありがとうございます。
ですが、どうやってPerl内で変更すればいいでしょうか?
ツバサ 2005年12月2日00:09
|
|
|
|
[73391] |
>どうやってPerl内で変更すればいいでしょうか?
どうお答えすればいいのでしょうか?
とりあえず、次のようにできますか?
Perlのソースの中で
<html>
<head>
を出力している箇所を見つけ、その後に、
先ほどのURLに書かれていたmetaタグの行を追加出力する様に変更してください。
maido (2696) 2005年12月2日00:18
|
+3 p
|
|
|
[73392] |
メタタグでは変更できませんでしたが
Perlのモジュールでなんとか変換はできました。
でも、またいくつか乗り越える壁がありました。
自分でもがんばってみます。
また何かありましたらよろしくお願いします。
ありがとうございました。
ツバサ 2005年12月2日00:22
|
|
|
|
( 参照数:1424 日平均:0.2 ) |
|
〜 回答の受付を終了しました 〜 |