テーブル名が日本語
昨日、書いたブログが今日のブログの伏線という
訳ではありませんが、丁度、こんな実験をしてみましたので
ブログに書いてみました。
Windows技術者でプログラムやデータベースの命名に
日本語を使用する人を時々見かけます。
マルチバイト文字と文字コードが多く存在する時代です。
Windowsの世界で完結するならば、問題ないのですが、
どんな状況、環境が生まれても、おかしくありません。
例えば
WindowsでSQL Serverが動いています。
そのテーブル名、カラム名が日本語です。
LinuxサーバのPHPから、そこに接続させる様な場合、
それぞれの環境の文字コードが異なっていたら
(例:Windows=Shift-JIS、UNIX=EUC-JP)
Select文、Insert文のテーブル名、カラム名に
文字コード変換をかけると言う不思議な処理をする事になります。
実際にやってみました。
文字コードさえ合わせれば、問題なく動きますね。
案外、アッサリと動いたので、少し残念です。
もう少し難航すると思ったのですが。
しかし、やはり色々と面倒になると予想されます。
恥ずかしながらソース公開します。
$con = mssql_pconnect('192.168.1.xxx', 'sa', 'xxxxxxx');
$ret = mssql_select_db('xxxdb', $con);
$query = mssql_query(mb_convert_encoding('select * from [T_M_日本]', 'SJIS'));
$row = mssql_fetch_row($query);
echo mb_convert_encoding($row[0], 'EUC-JP', 'SJIS').':'.mb_convert_encoding($row[1], 'EUC-JP', 'SJIS').'<br>';
mssql_free_result($query);
mssql_close($con);
分かりやすい様に掲載時にエラー処理を削除しています。
ここでは、クエリー全てを文字コード変換していますが、
場合によっては、テーブル名だけ、カラム名だけを
変換しなければならない状況になる可能性もあります。
最近は、UTF-8へ統合する動きもありますが、
まだ遠い先の話ですね。
それまでは、なるべく日本語テーブル名、日本語カラム名には、
出会いたくない物です。
Unix技術者でもデータベースに日本語で命名する人はいるのでしょうか?
今まで働いていて見かけた事は無いですけどね。
ちょっと待って!!
契約する前に読むシステム発注5つの注意
ありがちな失敗。おかしがちなミス。
お客様の「助けて!」の声の先にあった
驚きのシステム開発発注の実態がありました。
これを読まれれば少なくとも、それらの失敗は回避できます。
1、業務をシステム化すれば楽になるなんて甘いです
2、無契約で進んだシステム開発
3、個人の方を使った場合、システム開発の当たり外れ
4、システムをダウングレードさせる会社にご注意
5、あなたの業務の規模に不相応なシステムの発注
現役システムエンジニアが教える
Microsoft Access基礎、初級講座
Accessを覚えておけば、会社の業務だけに限らず
様々なところに活用する事が出来る様になりますよ。
Excelよりも、もっと便利なツールAccessを
是非、この機会に覚えておきましょう。
http://www.soft-dev.jp/access_lesson/
この不況の時期、
新規顧客獲得で困っていませんか?
好きな条件でアプローチ先を自分で探せます。
<<コンタクトメーカー(集)>>
http://ameblo.jp/soft-dev/entry-10815901551.html
オーダーメイドのシステム開発
オンライン見積りで開発費用が算出できます。
http://www.soft-dev.jp/
オンライン見積もりシステム販売
あなたのサイトにもオンライン見積もりを。
メールマガジン
コスト削減!中小企業のためのラクするIT入門
http://www.mag2.com/m/0001069182.htm
日常生活、仕事の合間のつぶやきです。
facebook、友達リクエストお願いします。
http://www.facebook.com/navels.cousin
MySpace