memocon プログラミングのメモや物欲日記、雑記等

Windows7のプログラムアイコンの表示がおかしい

2012年03月27日 10時52分

Windows7のプログラムアイコンが何も関連付けが無い状態のやつになってしまった。

こんなの → 

再起動しても治らないので「Windows7 アイコン 表示されない」と検索してみると一番最初にMicrosoftのヘルプページが表示された。

「Microsoft/Windows 7 および Windows Vista のスタート メニューやエクスプローラ内の表示で、一部のアプリケーションのアイコンが適切に表示されないことがある」
http://support.microsoft.com/kb/958740/ja

どうやら一般的な症状のようだ。

記載されている「手順1.画面の表示色を変更する方法」で治るかなと思って試してみたら見事に治った!
なので元の色数(32bit color)に戻してみたらまたアイコンがダメになった。
ずっと色数変えてないといけないなんて意味が無いので他の手順を試してみることにする。

「手順2.セーフ モードで起動する方法」より「方法3. IconCache.db ファイルを削除する方法」の方がお手軽そうだったので手順3を行うことにしてみた。

手順.3の要約は「普通にキャッシュファイルを削除して再ログオンする」って書いてある。

なんの問題もなく以下のパスからIconCache.dbを発見し削除。

その後、再ログオンしてみたら、、、治っていない。

何故???

と思って検索結果の他のページを調べてみると、どうやらファイル削除後にIconCache.dbという名前の空ファイルを作成しておくと上手くいくという情報があったので試してみたらうまく表示された。

なのでアイコンを復旧させるには以下の手順がお勧めです。

  • %systemdrive%\ユーザー\<ログオン ユーザー名>\AppData\Local\IconCache.db ← 削除
  • %systemdrive%\ユーザー\<ログオン ユーザー名>\AppData\Local\ にIconCache.dbという空ファイルを新規作成する。
  • 再ログインする

※2013/07/01 追記

IconCache.dbの再作成という手順だけでは改善せずに「手順1.画面の表示色を変更する方法」と合わせて行うと改善したという報告を2件頂いてます。
上の手順だけで改善しなかった場合は表示色数変更も合わせて試してみると改善するかもしれません。

IconCache.dbファイルが無いという場合は隠しファイルが非表示の設定になっている可能性があるのでフォルダオプションから隠しファイルを表示するように設定を変更してください。

PHP:csvファイルの読み込みでfgetcsvを使用すると文字化けする対応

2012年03月23日 12時56分

phpにはcsvを読み込むfgetcsvという標準関数があるがマルチバイト系の処理に難がある。
ちょっとググってみるだけでもかなりの情報が出てくるので日本語を含むcsvを読み取るには使用しない方が無難。

じゃあどうするか、自分で作るかなぁとしぶしぶ手をキーボードにやりかけた所、
やっぱり思うところはみんな一緒らしく先人の方が素晴らしい関数を作成して公開してくださっている。

yossy.blog / PHP5でfgetcsvが正常に動作しない
http://yossy.iimp.jp/wp/?p=56

ここに記載されているfgetcsv_regをfgetcsvの変わりに呼び出せば万事OK。

mysqlで外部クライアントから接続ができない!?

2012年03月21日 20時12分

開発用MVのmysqlにローカルから接続できるが外部から接続できなくて悩んだのでメモ。

ターミナルからコマンド打てばすんなり接続できるのにWindows PCのWorkBentchからの接続は拒否される。
iptables等を切っても駄目。

何故?と悩んでたらどうやらユーザ作成のQueryが正しくなかったようだった。

上だと繋がらない…下のようにPRIVILEGESを追加すると意図した通りに動く。

※勿論、FLUSH PRIVILEGESを忘れずに!

このブログにも当てはまりますがググって簡潔に書いてあるページを見てそのまま鵜呑みにする前に公式ページを確認しようという話でした。

でもmysqlの場合は公式サイトの情報が多いのでいいけど公式の情報が少ないものも多いのでTips系Blogにはいつもお世話になっています…

スカパーHDのチューナーTZ-HR400Pでch.700番台が映らない不具合

2012年03月20日 15時23分

スカパーチューナースカパーをHDに変更するべくチューナーTZ-HR400Pを購入して1週間ぐらいたった。

何を契約するか16日間無料キャンペーンで色々と試していたのだが猫・犬番組が見たいとアニマルプラネット(ch.747)に変更してみると「このチャンネルはありません」と表示されてしまう。

「アンテナずれたかな?」と思って確認してみてもかなり高レベルで受信できている。
チャンネルのスキャンしたいなと思ってもそんなメニューは特に無し。

どうしたもんかなぁと思って公式サイト見てみたらお知らせ一覧にまさにこの症状の解説があった。


スカパー!HD対応チューナー(TZ-HR400P)の受信設定を行う際のご注意

※リンク切れ

「かんたん設定のアンテナ選択画面で3秒以内に赤ボタンを押す」とチャンネルスキャンしてくれるらしい。

なんのゲームだよ…… と思いつつ「メニュー」→「設定する」→「かんたん設置設定」から記載通りにやってみたら本当に700番以降も正常に映るようになった。
これで猫・犬番組をまったり見れる。

スカパーのお知らせページにあるこの情報は掲載日時がリストにも本文にも記載されていない。
この情報はいつからあったのだろうか?

PHPで1次元バーコード表示(CODE 128)をgnu barcodeで行う

2012年03月13日 01時26分

会社で1次元バーコードを使用したいという依頼が「なるはやで」という文言が添えられてやってきた。

もともと表示するライブラリは使用していたらしいのだがそのライブラリでは
今回表示したいCODE 128という形式は表示できなかったらしい。

Pearには作成できそうなライブラリが入っているっぽいのだが残念ながら会社のサーバでは使用できない。

フリーのライブラリを調べてみると2次元バーコードと違って1次元バーコードのものはあまり見つからない。
というよりフリーでCODE 128をカバーしてて良さそうなものはPHP barcodeしか見つからなかった。

http://www.ashberg.de/php-barcode/

これをフルに動かすためにはgen barcodeとgnu barcodeという2つのコマンドをインストールする必要がある。

gen barcode
http://www.ashberg.de/php-barcode/download/#genbarcode

gnu barcode
http://www.gnu.org/software/barcode/

それぞれソースからインストールしなくてはならない。
インストールはそれぞれのREADMEに記述されている。お馴染みのconfigureとmakeだ。

gen barcodeをコンパイルするためにはgnu barcodeがインストールされている必要がある。
だから順番はgnu barcodeの後にgen barcodeをコンパイルする。

下のパスに2ファイル出来ていれば正常だ。

後はphp-barcodeを解凍してURLパラメータを適せん与えてやればバーコードが生成されるだろう。

参考

日本バーコード
http://www.n-barcode.com/