MySQL -> PHP で文字化け

2008 年 9 月 8 日

いつも文字化けと格闘してる気がする。
久々に 触ったら、また文字化け。
状況は、MYSQLデータベースからutf-8のデータを表示するPHPで、
日本語はすべて????????に化ける。
以下で対処。
$s = mysql_connect($SERV,$USER,$PASS) or die("データベースに接続できませんでした") ;
mysql_query("SET NAMES utf8") ;
mysql_select_db($DBNM) ;

mysql_query(“SET NAMES utf8”) ;の一文を入れる。
やれやれ。文字コードとPHPについてもっと勉強しなくちゃなぁ。

Firefoxで ソースコードにない・(中点)が出る

2008 年 8 月 19 日

今この問題に悩んでいます。
1時間ほど悩んでみましたが、全然糸口が見えず、困っております。
ん~誰か教えてぇぇぇw

問題発生箇所は、とあるサイトのトップページ。
これはPHPで作成されていて、ニュースを表示する箇所だけが他のテキストファイルから
テキストを読み取って表示する仕組みにしてあります。
ま~よく <iframe>とか使ってやるよね。
今回はトップページが .html でなく .php だったので、
PHPでニュースの内容を読み込んだわけ。
該当箇所(index.php)のPHPコードはこんな感じ。

<?php
$news = file_get_contents("news.txt") ;
$news = nl2br($news) ;
echo "<p>".$news."</p>" ;
?>

見ればわかる通り、news.txt を file_get_contents() 関数を使って読み込み、
一旦 $news 変数に代入し、それを nl2br() 関数で、改行を<br />に変換し、
echoで読み出しているわけ。
ちなみにindex.php も news.txt も、文字コードはutf-8。

PHPで書き出されたHTMLコードはこんな感じ。
<p>8/17 HPをリニューアルいたしました。<br /><br />
8/18 Excel中級セミナーを開催いたします。<br />
日時:8/25 10:00~ 場所:当社3Fセミナールーム<br />
受講料:無料 参加人数:20名まで(電話でお申し込みください)<br /><br />
8/18 お友達紹介キャンペーン実施中<br />
期間中にお友達をご紹介いただくと素敵なプレゼント差し上げます。<br /><br />
</p>

なのにFirefoxで見ると、こんな感じ。

Firefox3.1.1で見ると、・(中点)はちゃんと存在しているように見える。
Firebugで見ても、・(中点)は文字としてちゃんと存在しているように見える。
「ページのソースを表示」で見ると、・(中点)は存在していないように見える。
<p>にCSS側で何らかのプロパティが引っかかっているかとも思ったけど、
何も見当たらないし、<div>などに変えても同じことが起こる。

そして、IE6、IE7、Opera、Safari(いずれもWin)では・(中点)は表示されない。
いったい何だ~~~?www

リラックマのブログパーツですが、何か?

2008 年 8 月 17 日

いや、なんとなくリラックマに走ってみたくなった。
いい年こいたオッサンなんだけどさ、どうもリラックマには弱いんだよね。
ま、リラックマの魅力は言わずもがなだよね。

どうもコンビニに行くとさ、やたらとリラックマのぬいぐるみ売ってるのね。
いつからセブン〇レブンはリラックマのタイアップ始めたんだろ。
そしていつ終わるんだろ。いつも売ってる気がするが。
リラックマ見てるとさ、つい抱いてそのまま持ち帰りしたくなるんだよなw
(前歴はないです。)

リラックマのサイト行ったらブログパーツあったので、よくわからんけど張ってみた。
会員登録が必要だったんだけど、Firefoxで見てたら、フッターが上にずり上がってた。
floatのクリアが出来てないんだろうな~なんて思ったり。

UNICLOCKにエヘン虫が出てくる件

2008 年 8 月 17 日

モニター買ってから、なにかスクリーンセーバー入れなきゃってことで、
遅ればせながらUNICLOCKを入れてみました。
時刻を知らせてくれて便利なのと、ちょっと不思議な表情をしたお姉さん達が
不思議なダンスしているのが印象的ですよね。
色が変わったり、ダンスが変わったりで、
「ほ~こんなのもあったのね」と見とれることもしばしば。

その中でたまにエヘン虫みたいなのが出てくる。

エヘン虫登場

エヘン虫には確か足はなかったな。
そんなことを考えてたら、何のCMのキャラクターだったかわからなくなってた。
「ヴィックス・・・?」「ヴィップス・・・?」
さっそくググってみたら、どうも正解は「ヴイックスヴェポラッブ」らしい。
なんつー言いにくい名前やねん。「ヴィ」とか、「ヴェ」とかやめようぜw

懐かしさも手伝って、「ヴイックスヴェポラッブ」公式サイトを見てみたけど。
「ない!」「ない!」「どこにもエヘン虫がない!」
いつのまにやらエヘン虫は廃れてしまったらしい・・・。
結構強烈な印象を残したキャラクターだったんだけどな。実に惜しいな。

PHPでCSVファイルを読み込むと、文字化けする

2008 年 8 月 13 日

1時間ほどのた打ち回ったネタですw
最近はHTMLもPHPも文字コードをutf-8で統一するようにしてるんだけどさ。
shift-jisだと5C問題あったりして、スマートじゃないから。
ところがutf-8でちょっと困ったことが発生。

マイクロソフトエクセルで編集したCSVファイルをPHPで読み込んで、
Webに表示しないといけなかったんだけど。
読み込むのは簡単だけどなぜーか文字化けする。アレレ・・・。
HTML文書で指定した文字コードはutf-8、
そしておそらくCSVから読み込んだテキストはshift-jis。
実際、ブラウザのエンコード設定をshift-jisにしたら、
CSVから読み込んだテキストは正しく表示された。

文字コードの変換は、mb_convert_encording() を使うんだけど。
ただなぜかこれでもうまくいかない。
ネットを調べまくった挙句に行き着いたところはこれ。

<?php
$csv = "k/data.csv" ;
$buf = mb_convert_encoding(file_get_contents($csv), "utf-8", "sjis-win") ;
$fp = tmpfile();
fwrite($fp, $buf);
rewind($fp);
while (($data = fgetcsv($fp, 1000, ",")) !== FALSE) {
echo "<p>$data[11] $data[1] $data[4]</p>" ;
}
?>

参考サイト様は、
fgetcsv() の使い方 - PHPマニュアル
PHP5 の fgetcsv() で読み込み内容が腐る現象 - blog.plastik.jp

ちなみに、今回使用するサーバーのPHPバージョンは、4.3.11。
2番目の参考サイトはPHP5の話なので、関係ないような気はするんだけどね。
わからない事だらけで調べたいところだけど、時間もないので
今回はこれで行かせていただきます!w

<title>Webにまつわるエトセトラ</title>

2008 年 8 月 11 日

タイトル変えてみた。
たまたまボーッとしていて浮かんできたのが、この名前。
もちろん、ヒントはPUFFYだよ。
結局、Flashばかりをやってるわけにもいかないので、
こんなタイトルが内容にぴったりだな~。
これで気軽に書けそうw

インターリンクで固定IP接続 実験中。

2008 年 8 月 10 日

一日、会社に篭って、プログラムいじりしていたいところだけど。
次から次へと、やったことのないことが要求される毎日。
今日は「固定IP」の巻です。

知らない人のために簡単に説明すると。(ってオレもあまり知らないんですが)
インターネットに接続するためには、実はIPアドレスと呼ばれる12桁の番号が必要なんですよね。
もちろんオラも、今ブログを見ているあなたもちゃんとIPアドレスを持ってる。
「そんな番号シラネw」って言うかもしれないけど、インターネットに接続するときに
プロバイダさんが適当にくれるので、意識しなくていいんですね。
んで、このIPアドレスは適当にプロバイダさんが割り振るので、
番号がその時々によって違ってるんですね。
つまり番号は変動しているんです。

それに対して、番号を固定にするのを固定IPアドレスとか言います。
固定IPにすると何がいいかというと、たぶん固定である分、相手が特定できるわけですね。
この性質を利用すれば自宅サーバーを立てたりできると思われます。
今回これが仕事で必要になりそうなんだけど、なぜ必要に迫られたかというと、
「セキュリティの厳しい外部サーバーに接続する」ためです。

簡単に言えば、
「ホームページをそっちから更新してよ。固定IPなら接続可らしいから。よろしく。」って話。
固定IPって高いんだよおおおおおお。(OCNで1万5000円ぐらい/月)
別においしい案件でもないので辞めようかとも思ったけど、せっかくなので固定IPを調べてみた。
すると、「固定IPインターリンク月1050円」という魅力的な文字が。
月1,050円ならやってもいいかなーって感じでトライ。

インターリンク http://www.interlink.or.jp/

とりあえずできるのは確かめたので、「ま~いいかな~」と。
固定IP使う出番が来るといいけどね。

EIZO FlexScan S2431W 体験中

2008 年 8 月 10 日

怒りの返品をしたはいいが、やはりモニタは必要なわけで。
一度失敗してぶち切れたので、次は意地でも失敗できん!w
そんなわけでふらふらと、EIZOサイトへ。

ほんと高いんだよね、EIZOって。DELLの倍ちょっともする。
22インチ~24インチあたりの情報をぶらぶら漁ってると、だんだん欲しくてたまらなくなる。
あの変テコなロゴもカッコよく見えてきたよ、、やヴぁいw
いつのまにかEIZOのことしか考えられなくなり、、、あぁ、ブランドに弱いオレ。

ネットで集められる範囲では情報集めて、最後にポチッと行ったのは、
EIZO FlexScan S2431Wって製品。数日前からそれ使ってます。
自分の雑感はこんな感じ。

・24インチにして良かった。前の20インチ(1600*1200)と高さが変わらないので違和感がない。
・モニタの高さが調節しにくいという評判だったけど、全然平気だった。
・ブライトレギュレーター機能(室内の明るさをセンサーで拾って自動で明るさ調節)がおもしろい。
・厚みがすごい。Dellモニタの1.5倍くらいありそう。
・一点のドット欠けもなかった。感激の涙・・・。
・モニタがまぶしすぎて死にそうだったので、Textモードで普段は使用。
・明るさを変えても、色の違いは結構わかる。これがEIZOクオリティなのかな。
・幅が1920ピクセルに広がったので、左寄せコンテンツがちょっと辛い。

個人的には★★★★★かな。
DELLで失敗した後だけにちょっと甘めかも。

Dell 2208WFP 怒りの返品。

2008 年 8 月 9 日

モニターが一台必要に迫られまして、いつものごとくDELL買ったんです。
何も考えず、DELLサイト行って、22インチハイエンドモニタをぽちっと。
正確には、「デル デジタルハイエンドシリーズ2208WFP 22インチワイド」って奴です。
(今ググって調べた)

商品はすぐ届いたけど、これが色ムラ激しい商品で。
画面の上側のWinタイトルバーが濃紺といってよい濃いブルーなのに、
画面の下側のWinタスクバーは明るいブルーだったりしたのね。もうめっさ見にくいw

DELLに速攻怒りの電話をしたわさ。
商品と一緒に送られてきた紙に書いてあったお客様サポートに電話したのに、
5分待たされたあげく、「交換・返品等は営業部になりますので、そちらへ・・・」って。「へ!?」
教えられた番号に電話すると、さらに5分。
無愛想な男の営業部員とやらが出て、「まずはテクニカルサポートへ・・・」って。「まじ!?」
かなりぶちきれ寸前だったんだけど、3度目の電話。
たぶん20分くらい話してたんだけど、電話の女性、「なんとか交換で応じてもらえませんか?」の一点張り。

こちらは電話をたらいまわしされてイライラしてて、もう聞く気も起こらず。
電話係の女性には大変申し訳なかったけど、
「交換に応じてもいいけど、交換している間に返品期間過ぎちゃったら、返品できるの?」(オレ)
「それは・・返品できません。」(電話の女性)
「返品に応じてもらえるかの返事は、いつもらえるのですか?」(オレ)
「営業の者が担当になりますので、数日のうちに電話できるかと・・・」(電話の女性)
「数日っていつ電話もらえるのですか?こちらから掛けちゃダメなの?」(オレ)
「それについては・・・お返事できません。」(電話の女性)

返品期間を1週間だか、10日だか切っておきながら、
返品に応じられるかどうかの電話は、いつできるかわからないって、なんやねんと。
結局、翌日の夕方遅くにかかってきたけど、もう不信感バリバリ。
ま、そんなこんなのDellモニタ返品でした。

モリサワフォント様、いつもお世話になってます。

2008 年 8 月 9 日

例のごとく、更新頻度落ちてきたよ~あひゃひゃ。
お盆を目前にして、世の中のペースも少し落ち着いてきた感じ。
1案件完成寸前なので、ちょっと一息ついてるとこっす。

モリサワフォント

ここ、楽しかった。しばらく見とれちゃったな~。
モリサワさんもいろいろと面白いこと考えるなぁ。

ちなみに1年更新のモリサワフォントパック使ってるけど、
結局使ってるのは新ゴとリュウミンだけ・・・。
みんな、どんなの使ってるんだろうなぁ。