アーカイブ : 2011年 1月

【PHP】mb_convert_encodingでUTF-8→SJIS文字化け

php_mb_convert_encoding

php_mb_convert_encoding

PHPのプログラム作成時にmb_convert_encodingで文字コードを変換することがよくあると思います。

例えば、管理画面をUTF-8で作成してCSVをダウンロードするときなどです。
ここで一つ落とし穴。

名前や住所等に含まれる文字列がうまく変換できなくて、
ダウンロードしたファイルが「?」に文字化けしてしまう。

私の場合は﨑・栁・鈺が文字化けしてました。

ここで文字化けしてしまうのはmb_convert_encodingの設定ミスなだけです。

■間違った例:
mb_convert_encoding($str, “SJIS”, “UTF-8″);

■正しい例:
mb_convert_encoding($str, “SJIS-win”, “UTF-8″);

SJISとSJIS-winでは拡張文字の持ちかたが違うので文字化けを起こします。

下記、文字列が特殊文字の一覧です。
ご参考までに。

■特殊文字一覧
①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ・㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡・・・・・・・・㍻〝〟№㏍℡㊤㊥㊦㊧㊨㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪・・
纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德
忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱
犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚
釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑・・ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ¬¦'"
ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ¬¦'"㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲
夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯
涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰
蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙
髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑

【.htaccess】特定のディレクトリにSSL通信をする

themasterhtaccess

themasterhtaccess


.htaccessで特定のディレクトリにSSL通信をします。
ここではadminとcontactディレクトリのみSSLに設定して、
その他のディレクトリはhttp通信とします。

RewriteEngine on

RewriteCond %{REQUEST_URI} /admin/
RewriteCond %{REQUEST_URI} /contact/
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

RewriteCond %{REQUEST_URI} !/admin/
RewriteCond %{REQUEST_URI} !/contact/
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L]

【PHP】クレジットカードチェックサンプル

CrackingCreditCode11

CrackingCreditCode11

クレジットカード情報の番号が正しいか確認できるアルゴリズムを見つけたので、
PHPで実装してみました。

外部への通信は行なわないので、ブラックリストなどチェックはクレジットカード会社に任せるとして、入力された数字がクレジットカード番号で正しいかチェックします。

サンプルソースは公開しておりますが、
実際のクレジットカード番号は決して入力しないでください。
試す場合は、ローカルにて実装してからご確認下さい。
正規表現でチェックする方法もありますが、
今回行なっているのは数値チェックと、クレジットカードのアルゴリズムのチェックだけです。
あとは桁数チェックとかあれば尚よいかも。

【PHP】クレジットカードチェックサンプルソースコード

APIなどでクレジットカード会社に与信チェックするときにお金がかかる場合がありますが、
これを実装しておけばある程度はAPIを叩く回数が減るので節約になるかも知れませんね。

また、全てのクレジットカードで確認してないので、
だめだった場合は、コメントに内容を書いていただけると修正します!

【Service】WordPressを極めるブログ

WordPress

WordPress

WordPressを極めるブログです。
無料で使えるCMS WordPressの使い方/プラグインなどまとめサイト

現在、日々更新中です。

WordPressを極めるブログ

【Service】家庭教師個人契約連合会【学びの仲人】

n-manabi

n-manabi

家庭教師個人契約連合会【学びの仲人】
年会費、教材費、管理費etcも0(ゼロ) 最高の教師を、最適な価格で。あなたのお住まい・条件にピッタリの家庭教師を探せます。
家庭教師を始めたい方、仕事の場を広げたい方は無料登録できます。

こちらのサイトのディレクション及びサーバ設定を行いました。

家庭教師個人契約連合会【学びの仲人】