(現在 過去ログ11 を表示中)

HOME HELP 新着記事 トピック表示 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■9996 / inTopicNo.1)  Child Tree BBSのEncodeについて
  
□投稿者/ MV -(2004/10/09(Sat) 12:53:13)

    はじめまして。 
    こちらのChild Tree BBSを使わせて戴こうと思っているのですが、
    その際のEncodeの設定について教えてください。

    Child Tree BBSのマルチ設定機能を使って、複数のBBSを管理しようと思って
    いるのですが、その中に日本語以外の掲示板も設置する予定です。
    その場合の変更箇所としては、CGIで書き出されるHTMLのEncodeをShift_JIS
    からUTF-8で変更するだけでよいのでしょうか?

    該当のCGIファイルや作成されるDatファイルも一度Unicode形式のテキストに
    変更して保存しなければいけませんでしょうか?

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




引用返信 [メール受信/OFF] 削除キー/
■9998 / inTopicNo.2)  Re[1]: Child Tree BBSのEncodeについて
□投稿者/ Custom -(2004/10/09(Sat) 15:53:48)
    > はじめまして。 
    > こちらのChild Tree BBSを使わせて戴こうと思っているのですが、
    > その際のEncodeの設定について教えてください。

    > Child Tree BBSのマルチ設定機能を使って、複数のBBSを管理しようと思って
    > いるのですが、その中に日本語以外の掲示板も設置する予定です。
    > その場合の変更箇所としては、CGIで書き出されるHTMLのEncodeをShift_JIS
    > からUTF-8で変更するだけでよいのでしょうか?

    > 該当のCGIファイルや作成されるDatファイルも一度Unicode形式のテキストに
    > 変更して保存しなければいけませんでしょうか?

    CGIは単純に標準出力にデータを出力するだけでサーバがその出力されたデータを
    クライアント(ブラウザ)に送信しています。
    すべての文字コードが一致していないと文字化け起こします。
    モジュールなどで変換する方法もありますが完全とは限りません。
    あと、HTMLのエンコード指定の部分も書き換えないといけないですよ。

引用返信 [メール受信/OFF] 削除キー/
■10011 / inTopicNo.3)  Re[2]: Child Tree BBSのEncodeについて
□投稿者/ MV -(2004/10/11(Mon) 11:27:24)
    Customさん、ありがとうございます。

    > CGIは単純に標準出力にデータを出力するだけでサーバがその出力されたデータを
    > クライアント(ブラウザ)に送信しています。
    > すべての文字コードが一致していないと文字化け起こします。

    一応、HTMLのエンコード部分はすべて書き換えたのですが、これだけでは文字化けして
    駄目でした。 HTMLのエンコードをUTFで設定した場合、そのHTMLファイル自体もUTFの
    テキストで保存しなければいけないので、これが原因かと思っているのですが、CGIが
    データを出力する場合、どのように指定すればよいのでしょうか?




引用返信 [メール受信/OFF] 削除キー/
■10012 / inTopicNo.4)  Re[3]: Child Tree BBSのEncodeについて
□投稿者/ Custom -(2004/10/11(Mon) 17:13:24)
    2004/10/11(Mon) 17:16:25 編集(投稿者)

    > 一応、HTMLのエンコード部分はすべて書き換えたのですが、これだけでは文字化けして
    > 駄目でした。 HTMLのエンコードをUTFで設定した場合、そのHTMLファイル自体もUTFの
    > テキストで保存しなければいけないので、これが原因かと思っているのですが、CGIが
    > データを出力する場合、どのように指定すればよいのでしょうか?

    以前、UTF-8化したものを配布していましたがアップしたサーバの方に「禁止」と
    言われて配布停止状態になっています。(^_^;
    Cookieの文字化けはCookieをエンコードしてから書き込むようにすれば可能です。

    ↓どこを変更したか分からなくなったのでCookieの発行と取得している部分をすべて
     書いておきます。
     適当に書いたのでもっと簡単な方法があるかも知れません。

引用返信 [メール受信/OFF] 削除キー/
■10013 / inTopicNo.5)  Re[4]: Child Tree BBSのEncodeについて
□投稿者/ Custom -(2004/10/11(Mon) 17:13:53)
    #--------------------------------------------------------------------------------------------------------------------
    # [cookie発行]
    # -> cookieを発行する(set_)
    #
    sub set_ {
    	# URLエンコード
    	$c_name  = $name;
    	$c_email = $email;
    	$c_name  =~ s/(\W)/'%'.unpack("H2", $1)/ego;
    	$c_email =~ s/(\W)/'%'.unpack("H2", $1)/ego;
    
    	if($_[0] eq "I"){$kday=1826;}else{$kday=30;}
    	($secg,$ming,$hourg,$mdayg,$mong,$yearg,$wdayg,$ydayg,$isdstg) = gmtime(time + $kday*24*60*60);
    	$yearg += 1900;
    	if($secg  < 10){$secg ="0$secg"; }
    	if($ming  < 10){$ming ="0$ming"; }
    	if($hourg < 10){$hourg="0$hourg";}
    	if($mdayg < 10){$mdayg="0$mdayg";}
    	$month = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec')[$mong];
    	$youbi = ('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday')[$wdayg];
    	$date_gmt = "$youbi, $mdayg\-$month\-$yearg $hourg:$ming:$secg GMT";
    	if($SEL_C){$Csel=",sel:$sel";}else{$Csel="";}
    	if($TXT_C){$Ctxt=",txt:$txt";}else{$Ctxt="";}
    
    	$cook="name\:$c_name\,email\:$c_email\,url\:$url\,delkey\:$delkey\,pub\:$FORM{'pub'}\,ico\:$CICO\,font\:$font\,hr\:$hr$Csel$Ctxt";
    	if($_[0] eq "P") {
    		print"Set-Cookie: $s_pas=$s_pas; expires=$date_gmt\n";
    	} elsif($_[0] eq "M") {
    		print"Set-Cookie: Cmin=$FORM{'min'}; expires=$date_gmt\n";
    	} elsif($_[0] eq "I") {
    		print"Set-Cookie: UID=$_[1]; expires=$date_gmt\n";
    	} else {
    		print "Set-Cookie: CBBS=$cook; expires=$date_gmt\n";
    	}
    }
    #--------------------------------------------------------------------------------------------------------------------
    # [cookie取得]
    # -> cookieを取得する(get_)
    #
    sub get_ { 
    	$cookies = $ENV{'HTTP_COOKIE'};
    	@pairs = split(/;/,$cookies);
    	foreach $pair (@pairs) {
    		($NAME, $value) = split(/=/, $pair);
    		$NAME =~ s/ //g;
    		$DUMMY{$NAME} = $value;
    	}
    	if($_[0] eq "P") {
    		if($DUMMY{"$s_pas"}) {
    			$FORM{"P"}=$DUMMY{"$s_pas"};
    		}
    	} elsif($_[0] eq "M") {
    		if($DUMMY{'Cmin'}) {
    			$FORM{"min"} = $DUMMY{'Cmin'};
    		} else {
    			$FORM{"min"} = 0;
    		}
    	} elsif($_[0] eq "I") {
    		if($DUMMY{'UID'}) {
    			$pUID=$DUMMY{'UID'};
    		} else {
    			$pUID="n";
    		}
    	} else {
    		@pairs = split(/,/,$DUMMY{'CBBS'});
    		foreach $pair (@pairs) {
    			($name, $value)= split(/:/, $pair);
    			$COOKIE{$name} = $value;
    		}
    		$c_name=$COOKIE{'name'};$c_email=$COOKIE{'email'};
    		$c_url =$COOKIE{'url'}; $c_key  =$COOKIE{'delkey'};
    		$c_pub =$COOKIE{'pub'}; $c_ico  =$COOKIE{'ico'};
    		$c_font=$COOKIE{'font'};$c_hr   =$COOKIE{'hr'};
    		if($SEL_C){$c_sel=$COOKIE{'sel'};}
    		if($TXT_C){$c_txt=$COOKIE{'txt'};}
    
    		# URLデコード
    		$c_name  =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("C", hex($1))/ego;
    		$c_email =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("C", hex($1))/ego;
    	}
    }
    

引用返信 [メール受信/OFF] 削除キー/
■10016 / inTopicNo.6)  Re[4]: Child Tree BBSのEncodeについて
□投稿者/ MV -(2004/10/12(Tue) 14:51:40)

    Customさん、ありがとうございます。

    > 以前、UTF-8化したものを配布していましたがアップしたサーバの方に「禁止」と
    > 言われて配布停止状態になっています。(^_^;
    > Cookieの文字化けはCookieをエンコードしてから書き込むようにすれば可能です。
    > > ↓どこを変更したか分からなくなったのでCookieの発行と取得している部分をすべて
    >  書いておきます。
    >  適当に書いたのでもっと簡単な方法があるかも知れません。

    私、CGIのことがよくわからないので、とても初歩的なことを知らずに質問している
    かもしれませんが^^;、CGIが書き出すHTML部分をUTF形式のテキスト(HTMLのエン
    コードをUTF-8に変更したので)として書き出す場合、このCookieの文字化け処理が
    必要なんでしょうか?

    また、CGIが書き出すHTML部分をUTF形式のテキストとして書き出せない場合、
    エンコード部分を、Set.cgiで設定するように変更した方が簡単でしょうか?

    質問ばかりで申し訳ありません。

引用返信 [メール受信/OFF] 削除キー/
■10019 / inTopicNo.7)  Re[5]: Child Tree BBSのEncodeについて
□投稿者/ りゅういち -(2004/10/13(Wed) 01:04:57)
http://www.cj-c.com/
    No10016に返信(MVさんの記事)
    > > 私、CGIのことがよくわからないので、とても初歩的なことを知らずに質問している
    > かもしれませんが^^;、CGIが書き出すHTML部分をUTF形式のテキスト(HTMLのエン
    > コードをUTF-8に変更したので)として書き出す場合、このCookieの文字化け処理が
    > 必要なんでしょうか?
    > > また、CGIが書き出すHTML部分をUTF形式のテキストとして書き出せない場合、
    > エンコード部分を、Set.cgiで設定するように変更した方が簡単でしょうか?

    基本的には http://www.cj-c.com/sp/cbbs.cgi?mode=al2&namber=9273&no=1&KLOG=9
    で ReverseAccess に行っていることと同じことを行えばOKです。
    (Jcode.pm モジュールがサーバにない場合は無理かもしれません(^^;)
引用返信 [メール受信/OFF] 削除キー/
■10026 / inTopicNo.8)  Re[6]: Child Tree BBSのEncodeについて
□投稿者/ MV -(2004/10/14(Thu) 02:00:37)
    りゅういちさん、ありがとうございます。

    > 基本的には http://www.cj-c.com/sp/cbbs.cgi?mode=al2&namber=9273&no=1&KLOG=9
    > で ReverseAccess に行っていることと同じことを行えばOKです。
    > (Jcode.pm モジュールがサーバにない場合は無理かもしれません(^^;)

    なるほど、Jcode.pmというモジュールで、sjisをUTFに変更することも
    必要なんですね。(言われてみればそうですね^^;)

    私の借りているサーバでは、まだJcode.pmが用意されていないようで、うまく
    いきませんが、でも、できることがわかったのでよかったです。

    どうもありがとうございました。
解決済み!
引用返信 [メール受信/OFF] 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Pass/

HOME HELP 新着記事 トピック表示 検索 過去ログ

- Child Tree -