トップページ⇒php
1001コメント342KB

【PHP】下らねぇ質問はここに書き込みやがれ Part19

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/04/09(日) 01:31:18ID:???
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。

まず読め【PHP マニュアル】
http://www.php.net/manual/ja/

本スレ【PHP】質問スレッドpart33【php】
http://pc8.2ch.net/test/read.cgi/php/1140027592/

【PHP】下らねぇ質問はここに書き込みやがれpart18
http://pc8.2ch.net/test/read.cgi/php/1142417901/

過去スレは>>2-3あたり
0620nobodyさん2006/04/20(木) 09:58:55ID:???
>>558
お前、>>536で提示されてるリンク先をよく読んだか??

読んでもまだ意味がよく分からないようなら相当ヤバイので、
エンコード云々に限らず、Webプログラム開発自体を止めたほうがいいよ。
0621nobodyさん2006/04/20(木) 10:40:57ID:???
FedoraCore3/Apache1.3.33/PHP4.3.11をインストールしました。
Apacheは
./configure --prefix=/usr/local/apache --enable-module=so
PHPは
./configure --without-mysql --enable-mbstring --with-apxs=/usr/local/apache/bin/apxs --prefix=/usr/local/php4
でインストールしました。

Apacheを起動し、<?php phpinfo(); ?>を書いたファイルにアクセスしたところ、php.iniのパスは/usr/local/php4/libでした。

ところが、/usr/local/php4/lib/にphp.ini-recommended⇒php.iniとして配置し、Apacheを再起動しても設定が反映されません。

何か作業に見落としがあるのでしょうか?
0622nobodyさん2006/04/20(木) 10:55:22ID:???
>>618
マニュアルは読みました。
PHP Version は 4.4.2 です。
Registered PHP Streams はphp, http, ftp, compress.zlib で
httpはあります。
0623nobodyさん2006/04/20(木) 11:47:09ID:???
>>622
Win版のバグ。
使いたかったらdev版使うか4.4.1使え
0624nobodyさん2006/04/20(木) 12:15:50ID:???
>>623
4.4.1使ったら解決しました。ありがとう!
0625nobodyさん2006/04/20(木) 13:16:23ID:???
>>621
なぜ今さらFedoraCore3??
もう5まで出てるんだが、今さら3を使うメリットってあるのかな?
0626nobodyさん2006/04/20(木) 13:30:31ID:X9ueaSfE
こんにちわ。phpのfile_get_contentsについてですが、
サーバーA には $_POST["id"]でidを受信
サーバーB には file_get_contetnsプログラムをおきます。

以下、全てサーバーBにプログラムをおきまして、サーバーAに対し
file_get_contents("http://www.hoge.com?id=3");
をする事により、引数の id 3 をデータベースに登録したいのです。

しかし、サーバーBのレンタルサーバーによっては
file_get_contents("http://www.hoge.com?id=3");
をしても id 3 がデータベースに登録されない場合があります。

どうすればどのサーバーBでも
file_get_contents("http://www.hoge.com?id=3");
をすれば登録することができるでしょうか。

ご存知の方いらっしゃいましたら、ご教授下さい。宜しくお願いします。
06276062006/04/20(木) 13:33:55ID:???
>>610
出来ました、ありがとうございます!
クラス名とコンストラクタ名を同じにしていたのが混乱の原因だったようです。

ちなみに「クラス名と」と書こうとすると、「クラスメイト」と変換されるのもオブジェクト指向だからこそだなと思いました。
0628nobodyさん2006/04/20(木) 13:38:17ID:???
>>626
その登録されないサーバで、情報を得られてる事は確認した?
エラーは出てないの?
0629nobodyさん2006/04/20(木) 13:41:16ID:X9ueaSfE
>>628]
レスありがとうございます。
ページ自体は表示されるのですが、
?id=3 の ?以降の文字列が全く無視されてしまいます。

引数を送りたいだけなので require や include で試しても
うまく取得してくれませんでした。
06306212006/04/20(木) 13:45:26ID:???
>>625
たまたま手元に3があったのと、問題発生時の情報が新しいOSに比べて多く見つかること。あとは3がさほど昔のOSだとは思っていないことですね。
0631nobodyさん2006/04/20(木) 14:03:11ID:???
>>626
ちゃんとファイル名まで書け
file_get_contents("http://www.example.com/index.php?id=3");
0632nobodyさん2006/04/20(木) 14:06:09ID:???
>>629
ところでPOSTとGETの違いは認識できてる?
0633nobodyさん2006/04/20(木) 14:30:38ID:X9ueaSfE
>>631 >>632
すいません、自己解決できました。
ありがとうございました。
0634nobodyさん2006/04/20(木) 14:36:17ID:???
自己解決しても結果を書いてくれるとみんな助かるしスッキリするんだけどなぁ・・
ファイル名まで書かないとダメだったんだろうか
0635nobodyさん2006/04/20(木) 15:55:39ID:???
メールをmysqlに流し込もうとしてるんですが、
たまに次のようなエラーがでます。
Check the manual that corresponds to your MySQL server version for the right syntax to use near 'hogehoge hoge' <[email protected]>', 'RE: hogehoge
<>か'あたりをエスケープしなきゃいけない感じでしょうか?
ただ、できれば<>をそのままデータベースに入れたいなと思ってます。
0636nobodyさん2006/04/20(木) 15:59:35ID:???
mysql_escape_string
通せばいいって話じゃなくて?
0637nobodyさん2006/04/20(木) 16:07:10ID:???
まあそれだけの話。
名称・アドレス併記の際のクォートが引っかかってるんだろ。
0638nobodyさん2006/04/20(木) 17:42:56ID:???
>>635の作ったスクリプトは脆弱性だらけだと見た。
0639nobodyさん2006/04/20(木) 18:39:16ID:???
DB上のデータを元に、ある入力フォーム上のプルダウンメニューを作りたいのですが
フォーム自体は、あるボタンが押された時にjavascript(つまりはDHTML?)で表示させています
このjavascriptを外部の***.jsとした場合、HEAD部で***.jsのかわりに***.phpとする感じで
フォームの要素を動的にしたいんですが上手くいきません

行数が少なければhtml内部に書いて事なきを得るんですが・・・
どなたかヒントだけでいいのでお願いします(TT
0640nobodyさん2006/04/20(木) 18:42:31ID:???
動的にしたいデータだけ、非同期で取得させる。
それがAjax
0641nobodyさん2006/04/20(木) 20:32:04ID:???
>>639
なんか勘違いしてるみたいだけど、javascriptはブラウザで、phpはサーバで動作するものですよ。
0642nobodyさん2006/04/20(木) 20:36:46ID:???
>>641
勘違いはお前だ
>>639をよく嫁
0643nobodyさん2006/04/20(木) 21:47:18ID:???
>>639
<script src="PHPファイル"></script>
じゃなく
<?php require_once("PHPファイル"); ?>
にして、
外部PHPファイルで
<script>
JavaScriptコード
</script>
という内容にするのはダメ?
0644nobodyさん2006/04/20(木) 22:16:17ID:ryIl/Q77
文字コードがらみで質問します。
MAMPというソフトを使ってローカル開発環境をつくりました。
MAMP付属のphpmyadminでdbを覗くと、
ちゃんと日本語表示できているんですが、
自前のスクリプトで呼び出すと文字化けします。
MAMPはutf8がいいみたいなんですけど、
自分のコードはeucです。
でもphpmyadminできちんと表示できたということは、
設定次第では自分のスクリプトでもちゃんと表示できるんでしょうか?
phpmyadminはlangageがutfで接続照会順序はujisでテーブルを作りました。
0645nobodyさん2006/04/20(木) 22:17:30ID:???
>>634
単にホスト名と?との間に/が抜けてただけじゃない?
0646nobodyさん2006/04/20(木) 22:23:22ID:???
>>644
php.iniで
mbstring.http_output = UTF-8
06476442006/04/20(木) 22:34:03ID:ryIl/Q77
>646
レスありがとうございます。
なんかだめっぽいです。
現状でもphpmyadminは文字化けしないので、
そういう設定ファイルの類ではないもので解決しそうなのですが
わからないです。
どうして同じブラウザから同じデータベースを読み込んで
片方は文字化けするんですかね?
phpmyadminのソースをみたらcharsetがutf8だったので
phpのスクリプトが書いてあるファイルのcharsetを
同じくutfにしたけどだめでした。
0648nobodyさん2006/04/20(木) 22:42:01ID:???
>>647
ひょっとしてデータベースのデータ以外にも何か日本語を表示させているのか?
それがソース上でEUCで書かれているならUTF-8にコード変換して出力させないとダメだ。
phpmyadminは出力内容を全部UTF-8にしてるから文字化けしない。
お前のは恐らくHTMLの中にUTF-8とEUCが混在してるんだろう。

ちなみに
> phpのスクリプトが書いてあるファイルのcharsetを
> 同じくutfにしたけどだめでした。
これは具体的にどうやったのかを説明しろ。ちゃんとheader()を使ったのか?

> そういう設定ファイルの類ではないもので解決しそうなのですが
設定ファイルで解決した方が簡単だろうと思ってそっちを提示しただけ。
header()で解決するならそれでもいいよ。
0649nobodyさん2006/04/20(木) 22:46:59ID:???
>>644
SQL発行の一番最初に
set names ujis
06506442006/04/20(木) 23:02:21ID:ryIl/Q77
>648
親切な回答ありがとうございます。

データベースのデータ以外にもphpのスクリプトと一緒にかかれた
html文と日本語を表示しています。
そのphpファイルはエディタでeucのファイルにして、
meta contentのcharsetもeucにしました。

phpmyadminの正しく日本語表示されてるページは
ブラウザのソースを見るってやったらmetaのcontentのcharsetがutfだったので、
自分のスクリプトもdbを読み込んでくるページで同じようにutf-8と書いたのですが
これは全然変換とかしてないんですよね?

その他文字コードを指定しなきゃいけないようなところは
みんなeucにしています。
自分のスクリプトは簡単な登録フォームみたいのですが、
最後にinsert intoというクエリを発行するところで
mysql_query($sql = set names ujis);
とやると、phpmyadminで見たときに文字化けしないで登録されます。
ぎゃくにこれをutf-8とかにすると、phpmyadmindでも文字化けします。
0651nobodyさん2006/04/20(木) 23:12:09ID:???
>>650
スクリプトのコードは別にEUCでも構わないが、
出力はせめて統一しろよ…
ややこしいというならスクリプトも全部UTF-8にしる!
0652nobodyさん2006/04/20(木) 23:17:51ID:???
>>650
> 自分のスクリプトもdbを読み込んでくるページで同じようにutf-8と書いたのですが
> これは全然変換とかしてないんですよね?
charsetの指定は「このページの文字コードはこれ」とブラウザに教えるものであって変換ではない。
HTMLの中身がEUCなのにUTF-8とか嘘ついたら化けるの当たり前だろう。

どうしてもソースをEUCにした上でソース中にHTMLも一緒に書きたいというなら
selectして取得してきたデータをmb_convert_encoding()でEUCに変換して出せ。
逆にソースコード中のHTML表示を1度変数に格納しといてUTF-8に変換する手もあるが面倒。

でも1番簡単な方法は、ソース中に直にHTMLを書くのをやめて、
UTF-8で書いたHTMLをrequireで読み込んで出力する方法だと思う。
06536442006/04/20(木) 23:19:54ID:ryIl/Q77
>649
どうもです。いま試してみます。

>651
わかってなくてスミマセン。
スクリプトのコードというのはエディタで指定するもので、
出力というのはcharset=utfとかそういうのですよね?

0654nobodyさん2006/04/20(木) 23:25:46ID:6nVXOU85
RFC1738エンコードを実現したいのですが、URL以外の文字例をエンコードするのに
rawurlencode()は使わないほうが良いのでしょうか?
06556442006/04/20(木) 23:26:51ID:ryIl/Q77
>652
詳しい説明でたすかります。
自分のコードは簡単にいうとこうやって書いてます。

<head>
<meta http-equiv="content-type" content="text/html; charset=euc-jp">
<head>
<html>
<?php
$hoge = aaa;
?>
<p><?= $hoge ?></p>
</html>

もしくは表示したいhtml全体を$bodyとかに .= で詰め込んでって
最後にprint $bodyとかです。

これを書くときにエディタで設定(?)をeucにしてます。
0656nobodyさん2006/04/20(木) 23:31:18ID:???
>>655
> <p><?= mb_convert_encoding($hoge, "EUC-JP", "UTF-8") ?></p>
とかやれば直らないか?
0657nobodyさん2006/04/20(木) 23:32:13ID:???
>>653
> スクリプトのコードというのはエディタで指定するもので、
それはその通り。

> 出力というのはcharset=utfとかそういうのですよね?
違う。
0658nobodyさん2006/04/20(木) 23:59:41ID:???
内部コードはutf-8、外部にはてきとーなのにしとけ
内部コードeucでやるやつは時代遅れの要らない子
06596542006/04/21(金) 00:09:26ID:2Wlm0Z2o
あのー…、>>654について・・・お願いします。
0660nobodyさん2006/04/21(金) 00:10:04ID:xjsHzaEw
Parse error: parse error, unexpected '@' in
このエラーって、どういう意味?
0661名無し募集中。。。2006/04/21(金) 00:16:31ID:IwWXiYO9
>>660
@が入ってるあたりの記述が間違ってる
0662nobodyさん2006/04/21(金) 00:19:16ID:xjsHzaEw
>>661
@は、どこにもいれてないんだけど…
0663nobodyさん2006/04/21(金) 00:20:19ID:???
全角空白の場合にも'@'が出る場合があるでよ。
おいらは普段は全角空白なんて使わないから出した事がないけど。
0664nobodyさん2006/04/21(金) 00:20:42ID:???
>>660
じゃあ、全角空白がどっかに入ってる
0665nobodyさん2006/04/21(金) 00:24:11ID:xjsHzaEw
>>663>>664
ありがとう、直ったよ。
0666nobodyさん2006/04/21(金) 00:25:42ID:???
>>659>>654
文字例って何?
06676542006/04/21(金) 00:28:40ID:2Wlm0Z2o
>>666
rawurlencode ("あいうえお")

でもこれってURLをエンコードする関数ですよね?
0668nobodyさん2006/04/21(金) 00:31:00ID:???
>>667
そもそもURL以外をURIエンコードしたいと思った理由はなに?その理由によるのでは。
目的が分からんのにダメとか言えんよ。
0669nobodyさん2006/04/21(金) 00:33:03ID:???
phpで全角数字を半角数字に変換するマルチバイト関数は無いでしょうか?

3→3
2→2

こんな感じの処理です。
0670nobodyさん2006/04/21(金) 00:34:12ID:???
>>669
mb_convert_kana()
06716542006/04/21(金) 00:38:17ID:2Wlm0Z2o
>>668

フォームに入力された文字をPHPで簡単にエンコードしたいのです。
今までは専用のソフトウェアをインストールして行っていたのですが…
0672nobodyさん2006/04/21(金) 00:43:03ID:???
>>671
だったら別にrawurlencodeでも構わないのでは。
0673nobodyさん2006/04/21(金) 01:10:44ID:???
100ページぐらいのwebサイトがあるんですけど、
全部のページでsession_start();してるんですけど、
サーバの負荷たかいですか?
0674nobodyさん2006/04/21(金) 01:12:33ID:???
>>673
普通
0675nobodyさん2006/04/21(金) 01:51:43ID:MBv/PjUM
メールサーバからメールの受信を確認して読み込むような
スクリプトの書き方を教えて下さい。
06766442006/04/21(金) 02:41:38ID:j0KwlCv2
みなさんレスありがとうございます。
>649
すごいです。set names ujisをdbから読んでくるページに書いたら
とりあえず全部ちゃんと表示されました。

>657
「出力」がやっぱりいまいちわかりません。
php.iniで設定するやつですか?

>658
色々調べたのですが、utf-8はもう実質標準ぽいですね。
ところで気になっていたのですが、
内部コードというのはどこで指定するのですか?
外部はcharset=Shift-jisとかいうやつですか?
0677nobodyさん2006/04/21(金) 03:02:51ID:???
>>644
お前はまずブラウザの挙動から勉強しる。
完全に間違った思い込みで考えている部分がある。
0678nobodyさん2006/04/21(金) 03:07:34ID:???
>>676
出力は設定するものじゃない。作るもの。
0679nobodyさん2006/04/21(金) 03:13:55ID:???
PHPでこういうことは可能でしょうか?

http://***.com/hoge1/test.gif
http://***.com/hoge2/test.gif

別ディレクトリにある”test.gif”を、PHPのフォームからアップロードして一括更するような。
実験用にローカルで複数ディレクトリを作成しているのですが、1つを更新すると残りは
古いままのファイルが残り、常に最新状態に出来ないので、不便に感じています。

参考文献やサイトがあったら教えて下さい。(ググり方がわかりませんでした…
06806752006/04/21(金) 03:18:35ID:MBv/PjUM
ヒントでもいいのでお願いします。
プログラムの流れでもいいのでよろしくお願いします。
0681nobodyさん2006/04/21(金) 03:19:26ID:???
>>677
思い込みというか、設定・指定さえしとけば何でも自動的に切り替わってくれるもの、
と勘違いしてる節がある。
0682nobodyさん2006/04/21(金) 03:20:57ID:???
>>679
その複数のtest.gifってのは全部同じ内容?
だったらPHPプログラムでいちいち何とかするより、
サーバー側で全部シンボリックリンクしてやるのが早い
06836792006/04/21(金) 03:28:34ID:???
>>682
そうです。全く同じファイルです。ただ、内容が変わっていると言うだけで。
(タイトル画像を変更とか)

ジンボリックリンクですね。調べてみます。ありがとうございました。
0684nobodyさん2006/04/21(金) 03:29:10ID:???
>>680
POP3サーバーに接続
USER、PASSを順に送信
LISTを送信して一覧取得
受信メールがあればRETRを送信して読み込み
QUITを送信して接続終了
0685nobodyさん2006/04/21(金) 03:41:54ID:???
>>680
ttp://pear.php.net/manual/ja/package.networking.net-pop3.php
0686nobodyさん2006/04/21(金) 04:24:33ID:???
>>681
>>644はエンコードについては思いっきり浅い知識しかないみたいだ。

っていうか、まず「バイナリとは何か・テキストとは何か」って辺りから
説明しないと根本的に理解してくれないんじゃない?
06876442006/04/21(金) 11:31:57ID:5+Hakngk
みなさん詳しいレスをつけてくれて本当にありがとうございます。
博識すぎて情けないです。
特に「出力は作るもの」という概念は目から鱗です。調べてみます。

いままでhtmlだけで何かを表示させていたときは、
とりあえず、meta content charset=を指定すれば文字化けしませんでした。
これを記述しなくても、IEなんかはかってにsjisにしていたようですし、
他のブラウザも文字判別(自動)みたいな設定があって、
特に意識する必要がなかったと思います。

phpを書くようになってから、ファイル自体にエディタで文字コードを
指定することがあると知って、何の為にやるのか??だったのですが
meta content charset=で指定したものと同じにしていました。
エディタによっては、これをバラバラにするとアラートが出ました。

問題はmysqlを絡めてからで、my.cnfやphp.ini、それから
phpmyadminなど、至るところに文字コードを指定してくれと言われて
正直目的が分からず閉口しています。

いろんなページをぐぐったのですが、
よく言及されているのはやはり「内部コード」「出力」です。
なにか体系的にまとめられているページなど
参考になりそうなものがあったら教えて頂きたいです。
まずはセオリー的に簡単に言っちゃえばここはこうするのがベターみたいな
ものがあるらな、併せて教えて頂けると助かります。
よろしくお願いします。


0688nobodyさん2006/04/21(金) 11:32:38ID:5+Hakngk
×博識
○薄識
すいません
0689nobodyさん2006/04/21(金) 11:47:17ID:???
まあ644は姿勢は謙虚だし、努力する気持ちもあるみたいだから
頑張れば伸びるよ。少し体系的に学ぶといいよ。
0690nobodyさん2006/04/21(金) 12:07:42ID:???
>>689
>>687の最後の段落を読んでもそう言えるのかな?
0691nobodyさん2006/04/21(金) 12:09:11ID:???
>>687
あのさ、キミ深く勘違いしてるから念のため繰り返し言うけどさ、
このエンコードの件は、別にPHPとかMySQLとか関係ないからね。
HTMLだけだってソースのエンコードと出力指定(charset)は合わせなきゃいけないし。

キミはメールソフトはアウトルック・エクスプレスか?
だったら、受信したメールを「表示」→「エンコード」で手動で別のエンコードにしてみてごらんよ。
あるいは、Yahooのページのソース(EUCで書かれてる)をWin付属のメモ帳(SJIS専用)で開いてごらんよ。
そしたらうっすら何か分かってくるだろう。

簡単な「まとめページ」みたいなので一発で楽して覚えようとしないで、コツコツ勉強したまえ。
06926912006/04/21(金) 12:11:43ID:???
>>691だけど、●補足説明●
>別にPHPとかMySQLとか関係ない
「関係ない」って書くとまた別の誤解をしそうなので、
「PHPとかMySQLとかのせいじゃない」に変更しようかな。
0693nobodyさん2006/04/21(金) 12:27:22ID:???
PHPの質問とはあまり関係ないけれど、聞くとこが見つからなかったので、
ここの人ならわかると思うのでちょっと付き合ってください。
BlogとかでRSSがついてるのありますよね?
あれってBlogの記事ををRSSに格納して、RSSからBlogの文章を出力しているのですか?
それともBlogの記事をhtml(php,cgi etc)とRSSに同時に出力しているのでしょうか?
RSS(Atom)系のスレあったら教えてください。
06946932006/04/21(金) 12:31:12ID:???
ややこしくてすみません。
簡潔に言うと、RSSはリーダーでも読めるようにオマケでついているのか、
システム全体に影響与えるような重役を担っているのかのどちらだろう?
ということです。
06956442006/04/21(金) 12:41:13ID:5+Hakngk
>689
恐縮です。がんばります。

>691
具体的な指示、参考になります。ありがとうございます。
ダウンロードしたヤフーのソースファイルをいじってみたのですが、
確かにエディタの機能として指定できる文字コードとhead部分に書く
charsetをバラバラにすると化けます。
コードを記述したときの指定と、表示するときの指定(headのcharset)は
合わせないとまずいという事ですね。
この感じでいくと、dbに登録される(された)ときの文字コード(mysqlの中の文字コード?)と僕が書いた、dbの内容を引っ張ってきて表示したい
ページのcharsetが違う事がいけない気がしますが
この考え方はあっていますでしょうか?

あと、687さんは出力指定(charset)とかかれていますが、
657の人は出力はcharsetではないと書いていて、謎です。
0696nobodyさん2006/04/21(金) 12:41:28ID:???
>>694
まずRSSが果たす役割を勉強した方がいいよ。
で、なぜブログにRSSが付いているのかを考える。
そこまでは完全にスレ違いなので、それ以降に考えが及んだときにまたお越し下さい。
06976442006/04/21(金) 13:51:20ID:5+Hakngk
あーやばいです。なんとなく分かっちゃいました。
レンタルサーバのmysql(sjisで入ってる)をエクスポート
したのを自分のローカル環境(utf)にインポートする作業をやったんですけど、
どこをどうするとどうなるみたいのが見えてきました。

エクスポートでダウンロードしたファイルをエディタで開いたら
当然のようにsjisだったのでutfにして保存し直して
mysqlにutfでインポートしました。phpmyadminの表示も正常。
それを文字セットutfでcharsetもutfの状態で表示させました。
このままでは化けるんですが、これは環境依存ぽいのです。
最後はやはりset names utf8のクエリを打ちました。

どうもこのset namesは最強っぽい気がします。
取り急ぎ報告します。いままでアドバイス下さったかた、
最後までつきあって下さった691さん、ほんとうにありがとう。
0698nobodyさん2006/04/21(金) 13:52:41ID:???
>>695
だからブラウザの挙動を調べ(ry
0699nobodyさん2006/04/21(金) 14:01:13ID:???
まあそれだけじゃ何の解決にもなってないんだが、1つずつ学ぶしかないな。

設定できる・しなきゃならないのは、

・Mysql上で設定する、格納データの文字コード。
・PHPスクリプトを編集するエディター上で設定する、PHPスクリプトの文字コード
・PHPエンジンに教えてあげる、スクリプト本体の文字コード(PHP.iniでもスクリプト内でも指定可)
・PHPスクリプト内で指定する、Mysqlにアクセスする際の文字コード
・PHPスクリプト内で指定する、HTTP出力の際の文字コード
・ブラウザー・Webサーバーに教えてあげる、HTTPヘッダーで指定するHTMLの文字コード
・ブラウザーに教えるために出力するHTML内で指定する、HTMLの文字コード

少なくともこれらの区別・統一をきちんと図ってそれぞれ指定しなきゃダメだよ。
わかんなきゃ全部UTF-8に統一しとけ。
07006442006/04/21(金) 14:28:23ID:5+Hakngk
>699
素晴らしいです。感謝します。

・Mysql上で設定する、格納データの文字コード。
これはmy.iniで設定するものでしょうか?
[mysqld] default_character_set=utf8 とか。
これに従ってmysqlに登録されたデータの文字コードが決まるんですよね?

・PHPスクリプトを編集するエディター上で設定する、PHPスクリプトの文字コード
これは分かります。スクリプト自体の文字コードですね。

・PHPエンジンに教えてあげる、スクリプト本体の文字コード(PHP.iniでもスクリプト内でも指定可)
これは、,mb_convert_stringsの類ですかね。php.iniにもmb_string系の指定が結構ありますよね。

・PHPスクリプト内で指定する、Mysqlにアクセスする際の文字コード
これは、select文を打つときというか、コネクトするときに指定?

・PHPスクリプト内で指定する、HTTP出力の際の文字コード
これはechoとかするときにphpエンジンが何の文字コードを吐くかってことかな?
このへんはかなり分からないです。

・ブラウザー・Webサーバーに教えてあげる、HTTPヘッダーで指定するHTMLの文字コード
・ブラウザーに教えるために出力するHTML内で指定する、HTMLの文字コード
これは別物なんですか?特に後者はhtml文を書いているだけでも関係してきそうですが、意識したことがありません。

自分の理解はまだまだこの程度です。情けないです。
推測の範囲で申し訳ないのですが、結構省略しちゃうことがあると
思うんですけど、特別に指定しなかった場合は最終的にどこに依存するの
でしょうか?


0701nobodyさん2006/04/21(金) 14:35:41ID:???
だんだんとウザク感じてきたのは私だけでしょうか…
0702nobodyさん2006/04/21(金) 14:37:49ID:???
ここはphp通信教育スレですか?
07036442006/04/21(金) 14:52:20ID:5+Hakngk
>701 702
すいません。自分ばっかりかいて申し訳ないっす。
なんか極論的にはset names = utf8があればOKだしなければだめ的な
雰囲気になってきました。
MAMPだからかな。
07046392006/04/21(金) 16:02:39ID:???
>>641-643
ををを・・・単純だけどこれで切り分け出来ますね、まったく思いつきませんでした(泣
これで逃げたいと思いますありがとうございました

ajaxも考えたんですが、この箇所だけにxml吐き出してブラウザ毎に接続アレコレしてっとなると・・・
ちょっと微妙な感じだったのでウダウダしてました。
いやその前に使ったことすら無いのですが
0705nobodyさん2006/04/21(金) 16:02:47ID:???
>>675
imap_open じゃ駄目なん?
0706nobodyさん2006/04/21(金) 16:18:44ID:???
>>704
別にXMLで吐き出さなくてもいいじゃんw
07076752006/04/21(金) 16:54:47ID:MBv/PjUM
>684
今少しずつ作っているのですが
POP3サーバに接続して、特定のメールアカウントの分だけ取得したい場合は
LISTにアカウントを書いておけば良いでしょうか?
0708nobodyさん2006/04/21(金) 17:07:05ID:???
USER,PASSってアカウントの指定じゃないのか???
07096752006/04/21(金) 17:27:25ID:MBv/PjUM
>708
あ・・・
0710nobodyさん2006/04/21(金) 17:43:51ID:???
>>709
とりあえずこの辺でも読むとか。
http://www.atmarkit.co.jp/fnetwork/rensai/netpro07/netpro01.html
0711nobodyさん2006/04/21(金) 17:57:10ID:KwFOTHkh
PHPでユニコード文字を取得するにはどうやればいいんですか?

あ=> E3041

という結果が欲しいのですが
0712nobodyさん2006/04/21(金) 19:10:47ID:???
>>711
文字列を取得したいのか数値を取得したいのか知らないけど、bin2hex、ord、sprintfから好きなのえらんで。
0713nobodyさん2006/04/21(金) 21:15:25ID:???
yamada,521
aoki,32
takahashi,6013

…というような形式のファイルdata.txtがあり、
それをそれぞれの数値の部分でソートしたいのですが、どのような方法がありますでしょうか?

$lines = file('data.txt');
と配列にしましたが、その先が分かりません。
よろしくお願いします。
0714nobodyさん2006/04/21(金) 21:20:33ID:q11WDkz8
メールサーバにある添付ファイルを取得するにはどうすればよいのでしょうか
0715nobodyさん2006/04/21(金) 21:25:04ID:???
>>714
メール本文を読み込んでマルチパートを分解してデコードしてファイルに保存
0716nobodyさん2006/04/21(金) 21:28:56ID:???
>>713
explode+array_multisort
0717nobodyさん2006/04/21(金) 21:30:20ID:???
>>713

カレーを作りたいんです。
お鍋に水を入れましたが、その先が判りません。

と言っている様な物だ。
もう少し自分で頑張れ。

ヒント:つ「配列廻してさらに配列生成」
0718nobodyさん2006/04/21(金) 21:41:52ID:???
>>716
>>717
ありがとうございます。
試行錯誤してみます。
0719nobodyさん2006/04/21(金) 21:46:46ID:???
>>716
array_multisortは配列の1次元目でしか(配列の関係を崩さず)ソートできない。
この場合には、usort関数を使う必要があるだろう。
0720nobodyさん2006/04/21(金) 21:57:38ID:???
>>714
無理。そんなのできたら携帯用あぷろだとか出来てる。
■ このスレッドは過去ログ倉庫に格納されています