Hatena::ブログ(Diary)

日々雑文 このページをアンテナに追加 RSSフィード Twitter

2012-01-04

MySQLの文字化け対応

skip-character-set-client-handshake や SET NAMES を使うべきではない。

参考:http://goungoun.dip.jp/app/fswiki/wiki.cgi/debianetch?page=2007%2F04%2F23-01%A1%A2skip-character-set-client-handshake+%A4%CB%A4%C4%A4%A4%A4%C6

相応の理由がない限り、MySQL、PHP、などすべてUTF-8で統合して作成するほうがいい。

FreeBSDで ports を使ってインストールした状態では、my.cnf がないので、/usr/local/share/mysql 以下にあるサンプルを /usr/local/etc/ 以下に移動させる。

サンプルには

my-small.cnf

my-medium.cnf

my-large.cnf

といくつか種類があるが、スタンドアローンの環境であれば、my-medium.cnf を使用するので問題は無いと思う。

my-medium.cnf を /usr/local/etc 以下に my.cnf としてコピーする。

データベースへ移動して、

show variables like '%char%';

とすることで、データベースに使用されている文字コードを見ることができる。

mysql> show variables like '%char%';

+--------------------------+----------------------------------+

Variable_name Value

+--------------------------+----------------------------------+

character_set_client utf8
character_set_connection utf8
character_set_database latin1
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/local/share/mysql/charsets/

+--------------------------+----------------------------------+

8 rows in set (0.00 sec)


[mysqld] 以下に

default-character-set = utf8

[mysql] 以下に

default-character-set = utf8

を追加することで、

で表示される、

character_set_server | latin1

が、utf8 に変更される。

character_set_database | latin1

を変更するには

mysql> alter database <DB名> character set utf8;

で変更できる。

2011-11-16

アメリカのEINを取得してみる

AppleのiTunesストアでアプリを販売する場合には、アメリカで販売していることになるので、そのままだとアメリカの税金を取られて、さらにそのお金が日本の口座に振り込まれたときに日本の税金を取られることになる。


日本とアメリカの間では租税条約を結んでいるので、正式な手続きを行うことでこの税金の二重取りを回避できる。


手続きとしては、まずアメリカのアメリカ合衆国内国歳入庁(IRS)に申請を行い、雇用者番号(Employer ID Numbers、EINs)を取得する。


次に iTunes Conncet へ申請を行うときに必要な情報を入力すると Apple から W-8BEN という書類が送られてくるので、そちらに記入して返送することで、アメリカで課税されなくなる。


さて、その EIN を取得するのだけど、blogとか調べてみると、IRS に Form SS-4 という書類をFAXして申請するとある。 申請して EIN が送られてくるまで大体一月くらいかかるとか、書類にミスがあると何も言わずに申請を却下するとか、最終的には電話で話をしないとだめだとかいろいろ話があるんだけど、見てみるとどうやらオンラインで申請できる様子。

ということで、それでいいのか分からないけどオンラインで申請してみる。


とりあえず、IRSのページに移動して,右上のサーチボックスから EIN を入れて検索すれば、EIN 申請に関するページが表示される。

http://www.irs.gov/


f:id:nao550:20111116133741j:image

Employer ID Numbers(EINs)のページから「Apply for an EIN Online」をつかって、オンライン申請しようと思ったのだけど、

f:id:nao550:20111116133748j:image

途中でSSN、もしくはITINなどのナンバーを求められて挫折。


残念ながらやっぱり書類申請をする必要がある様子。

ということで気を取り直して、Form SS-4 を取得して書く。

先のページにあった「Do you need an EIN?」というリンクをクリックすると、いくつか質問項目が表示されるがとりあえずYESをクリックすると EIN 申請方法を説明したページが開く、そこのFAXの項目から FromSS-4 のPDFファイルがリンクされているのでダウンロードする。

ダウンロードしたPDFには AdobeReader から直接フォームを書き込めるようになっているので、書き込む。


よくわからんので、いろいろ調べて Form SS-4 の書き込み方法の説明を作ってみた

Form SS-4記入方法

もしおかしいところとかあれば教えてください。


記入したものをIRSのFAX番号、「+1-267-941-1040」に送る。 国際電話なので、入力する電話番号はNTTなら「0033-010-1-267-941-1040」、KDDIなら「001-010-1-267-941-1040」になる。

書類に不備がなければ4営業日くらいで EIN が送られてくるらしい。


Employer ID Numbers、直訳すれば「雇用者識別番号」になると思うんだけど、blogとかでは「納税者番号」と書いてるところもある。 どっちが正しいんだろう?

2011-11-14

初代iPod nano交換プログラムに申し込んでみた その1

2006年6月12日に21800円で初代 iPod nano を購入して、だいたい3年くらい使ったのかな。 最後の方は充電してもろくに電池が持たなくなって、そのまま机の肥やしにしていたんだけど、もともとバッテリーから発火するというトラブルがあったため、Appleが無償で交換してくれるという話になったようなので、交換プログラムを申し込んでみた。

初代iPod nanoが6年以上経過した今になってやっと無償交換を決定 - GIGAZINE

f:id:nao550:20111114215905j:image

結構大事に使ってきたのでいまだにピカピカ


Apple - サポート - iPod nano 交換プログラム

Appleのページから交換プログラムの申し込みを行うと、

f:id:nao550:20111114215859p:image

国と地域の選択して

f:id:nao550:20111114215900p:image

シリアル番号の入力して

f:id:nao550:20111114221342p:image

Apple IDを使ってログインして

f:id:nao550:20111114221220p:image

住所の入力して

f:id:nao550:20111114215903p:image

確認して

f:id:nao550:20111114215904p:image

確定、というながれで申し込みはできた。


「ご希望の集荷日および時間を選択してください」という項目があるので、クロネコあたりが集荷に来るのかと思ったんだけど、一番最後の確定の画面で「Appleにお送りいただくための梱包箱と返送手順をAppleからお送りいたします」とのことなので、たぶん指定した集荷日に荷物が届くのだと思う。


それに iPod をいれて返送したら、新しいのを送り返してくれるというわけだ。 せっかくなのでこの辺の流れは今後も書いていこうと思う。


正直いまさら iPod nano の初代版を送ってきてもらっても使い道がないし、いまさらという感じなのだけど、Apple も初代 iPod nano の在庫があるわけでもないだろうし、もしかしたら現行版の iPod nano が送られてきたりはしないだろうかとちょっと期待している。 


まぁ iPhone4 もってるし、3GS もあるし、現行版であってもいまさら iPod があっても使い道はあんまりないんだけど…

2011-09-03

ロクム(ターキッシュデライト)を食べてみた


ちょっと変わったお菓子を手に入れたので、gigazineっぽく。


ロクムというのはトルコでよく食べられているお菓子で、イギリスなどではターキッシュデライトの名前で知られている。 求肥とかゆべしに似ているということで、求肥も好きだし、変わったお菓子も大好きなのでいっぺん食べてみたいと思ったので勝ってみた。


f:id:nao550:20110903205229j:image


ちょっと大きさが分かりにくいけど、長い方が12センチくらい。 それほど大きい物じゃないんだけどこれで400円もする。 結構高い。


f:id:nao550:20110903205244j:image


材料をみると、砂糖、グルコースシロップ、コーンスターチということで、大半が砂糖。 [バラのロクム]とかいてあるけど、香料を使ってバラの香りをつけてあるだけの物。 ロクムも種類によってはナッツを入れてる物もあるみたいなんだけど、残念ながらこれしかなかった。


これだけの物なら、がんばれば作れるんじゃないかと思ってしまう。


f:id:nao550:20110903205317j:image


なかにはこういう風に1.5センチくらいの長さにカットした状態で入っている。


f:id:nao550:20110903205336j:image


一個をとりだすとこういう感じ。



食べてみたところ、話に聞いていた求肥よりは固い感じ。 あと砂糖の塊なので当然のことながら檄甘。 お茶とか無しに食べるのはちょっとしんどいんだけど、逆に濃いめに入れた紅茶のお茶請けに1個2個食べるのならいいかもしれない。 バラのクロムだけあって、ちょっと独特のクセのある香りもあるので、これをお茶請けに午後茶でもすればちょっとオリエンタリズムな雰囲気を味わえるかもしれない。


でもトルコ人ってこの檄甘なロクムを、また檄甘なお茶とか珈琲で食べるんだよな。 甘い物好きな自分でもちょっと無理かも。

2011-07-27

PHPで多段includeするときの話

嵌ったのでメモ

test/
   |-exam/
   |    |-main.php
   |
   |-lib/
        |-class.php
        |
        |-config.php

ってプログラムがあって、


main.php

include_once('../lib/class.php');

class.php

include_once('./config.php');

config.php

define('SERVER_NAME','localhost');

main.php から class.php 、 config.php と include_once してる場合、main.php を開くと

Warning: include_once(./config.php) [function.include-once]: failed to open stream: No such file or directory

と表示される。


PHP では実行されているファイルのあるパスが常にカレントディレクトリになるという規則があるために、上記の用に多段で include した場合、main.php と同じディレクトリに config.php があると解釈されてしまう。

この場合、class.php で、

include_once(dirname(__FILE__) . '/config.php');

としておくと、問題なく config.php を読んでくれる。


__FILE__ は PHP の定数でファイルのフルパスとファイル名で、インクルードされるファイルの中で使用された場合にはインクルードされるファイルの名前を返す。

dirname はファイルあるいはディレクトリへのパスを含む文字列を受け取って、 親ディレクトリのパスを返す。 dirname が返すパスの最後に / はつかないので、config.php などの前には必ず / をつける必要がある。



173809