<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>auxak blog &#187; PHP</title>
	<atom:link href="http://blog.auxak.com/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.auxak.com</link>
	<description>Creative &#38; Innovative IT</description>
	<lastBuildDate>Sun, 09 Nov 2014 18:54:41 +0000</lastBuildDate>
	<language>ja</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.0.38</generator>
	<item>
		<title>jQuery, jQueryUI, Bootstrap利用時のCDNフォールバック対応　</title>
		<link>http://blog.auxak.com/cdn-fallback/</link>
		<comments>http://blog.auxak.com/cdn-fallback/#comments</comments>
		<pubDate>Sun, 09 Nov 2014 18:51:30 +0000</pubDate>
		<dc:creator><![CDATA[auxakmaster]]></dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Bootstrap]]></category>
		<category><![CDATA[CDN]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery UI]]></category>

		<guid isPermaLink="false">http://blog.auxak.com/?p=156</guid>
		<description><![CDATA[コンテンツデリバリーネットワーク（CDN）を利用した、jQueryやjQuery UI、BootstrapのJ [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a title="コンテンツデリバリーネットワーク" href="http://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%84%E3%83%87%E3%83%AA%E3%83%90%E3%83%AA%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF" target="_blank">コンテンツデリバリーネットワーク（CDN）</a>を利用した、jQueryやjQuery UI、BootstrapのJavaScriptファイルやCSSファイルの読み込みが失敗した際のフォールバックの方法は以下の通りです。</p>
<pre class="brush: xml; title: ; notranslate">

&lt;!-- JQueryの読み込み --&gt;
&lt;script src=&quot;//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;window.jQuery || document.write('&lt;script src=&quot;venders/jquery/2_1_1/jquery-2.1.1.min.js&quot;&gt;&lt;\/script&gt;');&lt;/script&gt;

&lt;!-- JQuery UI(.css)の読み込み --&gt;
&lt;link href=&quot;//ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/themes/smoothness/jquery-ui.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&lt;div class=&quot;ui-helper-hidden&quot;&gt;&lt;/div&gt;
&lt;script&gt;
    // jQuery UI CSS Fallback
    $(function () {
        if ($('.ui-helper-hidden:first').is(':visible') === true) {
            $('&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;venders/jquery_ui/1_11_2/jquery-ui.min.css&quot; /&gt;').appendTo('head');
        }
    });
&lt;/script&gt;

&lt;!-- JQuery UI(.js)の読み込み --&gt;
&lt;script src=&quot;//ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;window.jQuery.ui || document.write('&lt;script src=&quot;venders/jquery_ui/1_11_2/jquery-ui.min.js&quot;&gt;&lt;\/script&gt;')&lt;/script&gt;

&lt;!-- Bootstrap(.css)の読み込み --&gt;
&lt;link href=&quot;//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&lt;script&gt;
    // Bootstrap CSS Fallback
    $(function () {
        if ($('body').css('color') !== 'rgb(51, 51, 51)') {
            $('&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;venders/bootstrap/3_3_0/css/bootstrap.min.css&quot; /&gt;').appendTo('head');
        }
    });
&lt;/script&gt;

&lt;!-- Bootstrap(.js)の読み込み --&gt;
&lt;script src=&quot;//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;$.fn.modal || document.write('&lt;script src=&quot;venders/bootstrap/3_3_0/js/bootstrap.min.js&quot;&gt;&lt;\/script&gt;')&lt;/script&gt;

</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.auxak.com/cdn-fallback/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CodeIgniter 3.0-dev 導入手順</title>
		<link>http://blog.auxak.com/install-codeigniter-3-0-dev/</link>
		<comments>http://blog.auxak.com/install-codeigniter-3-0-dev/#comments</comments>
		<pubDate>Sat, 08 Nov 2014 14:01:55 +0000</pubDate>
		<dc:creator><![CDATA[auxakmaster]]></dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[CodeIgniter]]></category>

		<guid isPermaLink="false">http://blog.auxak.com/?p=146</guid>
		<description><![CDATA[CodeIgniter ※この記事は、CodeIgniter-3.0-devを対象に書かれています。 最近、P [&#8230;]]]></description>
				<content:encoded><![CDATA[<h1 style="color: #000000;">CodeIgniter</h1>
<div style="color: #000000;">
<div>※この記事は、CodeIgniter-3.0-devを対象に書かれています。</div>
<div></div>
<div>最近、PHPで開発するにあたりパーフェクトPHPという本を参考にフレームワークの勉強をしていました。</div>
<div>PHPは様々なフレームワークが存在し、正直どれにしようか迷いに迷ってました。</div>
<div>小規模な開発目的なので、国内ユーザーが多いCakePHPや新しめのFuelPHPなども比較的良かったのですが、</div>
<div>フレームワーク独自の縛りが多く、個人的にはある程度プログラマーの裁量で取り回しが可能なものが良かったので、</div>
<div>学習コストの少ない軽量な高速なCodeIgniterというフレームワークが良さそうだったのでサーバーにインストールしてみることにしました。</div>
<div></div>
<div>正直、CodeIgniterは日本ではマイナーな様ですが海外では利用実績も多いようで、</div>
<div>公式サイトのマニュアルやフォーラムなど結構充実しており、</div>
<div>基本英語ですがそれほど難しい英語ではないので日本語資料が少ないという問題点はあまり気にしなくても良いのではないかと思います。</div>
<div></div>
<div>尚、本記事でインストールしたCodeIgniterのバージョンは、3.0-devというリリース前の開発段階のものです。</div>
<div>公式サイトによれば、既にかなり動いているようで実運用でも利用しているケースがあるらしいので、</div>
<div>これから新規に開発するウェブアプリケーションであれば、サポート基幹的にもCodeIgniterは新しいものが良いと考えたので、</div>
<div>とりあえず、3.0-devで利用して正式リリース後にバージョンアップしたいと思います。</div>
<div></div>
</div>
<h2 style="color: #000000;">参考ウェブサイト</h2>
<div>
<ul style="color: #000000;">
<li><a title="CodeIgniter公式ウェブサイト" href="http://www.codeigniter.com/" target="_blank">CodeIgniter公式サイト</a></li>
<li><a title="CodeIgniter 3.0-dev User Guide" href="http://www.codeigniter.com/userguide3/index.html" target="_blank">CodeIgniter 3.0-dev User Guide</a></li>
<li><a title="Installation Instructions" href="http://www.codeigniter.com/userguide3/installation/index.html" target="_blank">Installation Instructions</a></li>
</ul>
</div>
<h2>インストール手順</h2>
<h3>1.　CodeIgniterダウンロード</h3>
<p><a title="CodeIgniter公式ウェブサイト" href="http://www.codeigniter.com/" target="_blank">CodeIgniter公式ウェブサイト</a>からCodeIgniterのZipファイルをダウンロードします。</p>
<p>&nbsp;</p>
<h3 style="color: #000000;">2.　Zipファイルを展開します。</h3>
<div style="color: #000000;">ダウンロードしたZipファイルを展開します。Zipファイル内は以下の構成になっています。</div>
<div style="color: #000000;">
<pre class="brush: plain; title: ; notranslate">
└─CodeIgniter-develop
  │  .gitignore
  │  .travis.yml
  │  composer.json
  │  contributing.md
  │  DCO.txt
  │  index.php
  │  license.txt
  │  phpdoc.dist.xml
  │  readme.rst
  │
  ├─application
  ├─system
  ├─tests
  └─user_guide_src
</pre>
</div>
<div style="color: #000000;"></div>
<h3 style="color: #000000;">3. CodeIgniterアップロード</h3>
<div style="color: #000000;">CodeIgniter-developフォルダー内の全ての（applicationフォルダー、systemフォルダー、testsフォルダー、etc&#8230;）と全てのファイル（index.php、etc&#8230;）をCodeIgniter-developフォルダー内の構成を保ったまま、サーバー上のウェブサイトのルートディレクトリへアップロードします。</div>
<div style="color: #000000;">ルートディレクトリにindex.phpが配置されていれば正しくアップロードされています。</div>
<div style="color: #000000;"></div>
<h3 style="color: #000000;">4. アプリケーション設定</h3>
<div style="color: #000000;">application/config/config.phpをテキストエディターで開きます。</div>
<div style="color: #000000;"></div>
<div style="color: #000000;">以下の行（56行目）を探し、ウェブサイトのベースURLを設定します。</div>
<div style="color: #000000;"></div>
<div style="color: #000000;">
<pre class="brush: php; title: ; notranslate">
$config['base_url'] = '';
</pre>
</div>
<div style="color: #000000;">↓</div>
<div style="color: #000000;">
<pre class="brush: php; title: ; notranslate">
$config['base_url'] = 'http://example.com/';
</pre>
</div>
<div style="color: #000000;"></div>
<div style="color: #000000;">暗号化やセッションを利用する場合は、以下の行（335行目）を探し暗号化キーを設定します。</div>
<div style="color: #000000;">大文字や小文字、数字が混在した32バイト（128ビット）を設定することで暗号化アルゴリズムを最大限に利用することが出来ます。</div>
<div style="color: #000000;"></div>
<div style="color: #000000;">$config[&#8216;encryption_key&#8217;] = &#8221;;</div>
<div style="color: #000000;"></div>
<h3 style="color: #000000;">5. データベース設定</h3>
<div style="color: #000000;">データベースを利用する場合、application/config/database.phpをテキストエディターで開き、利用するデータベースの情報を設定（99行目から123行目）します。</div>
<div style="color: #000000;">
<pre class="brush: php; title: ; notranslate">
$active_group = 'default';
$query_builder = TRUE;$db['default'] = array(
'dsn'     =&gt; '',
'hostname' =&gt; 'localhost',
'username' =&gt; '',
'password' =&gt; '',
'database' =&gt; '',
'dbdriver' =&gt; 'mysqli',
'dbprefix' =&gt; '',
'pconnect' =&gt; TRUE,
'db_debug' =&gt; TRUE,
'cache_on' =&gt; FALSE,
'cachedir' =&gt; '',
'char_set' =&gt; 'utf8',
'dbcollat' =&gt; 'utf8_general_ci',
'swap_pre' =&gt; '',
'autoinit' =&gt; TRUE,
'encrypt' =&gt; FALSE,
'compress' =&gt; FALSE,
'stricton' =&gt; FALSE,
'failover' =&gt; array(),
'save_queries' =&gt; TRUE
);
</pre>
</div>
<div style="color: #000000;"></div>
<h3 style="color: #000000;">[補足]</h3>
<div style="color: #000000;">・CodeIgniter関連ファイルの場所を隠すことによってセキュリティを高めたい場合には、applicationフォルダーとsystemフォルダーを任意の名称へ変更します。名称を変更をした場合には、ルートディレクトリのindex.phpをテキストエディターで開き、$system_path変数（101行目）と$application_folder変数（116行目）へ反映して下さい。</div>
<div style="color: #000000;">
<pre class="brush: php; title: ; notranslate">
/*
*---------------------------------------------------------------
* SYSTEM FOLDER NAME
*---------------------------------------------------------------
*
* This variable must contain the name of your &quot;system&quot; folder.
* Include the path if the folder is not in the same directory
* as this file.
*/
$system_path = 'system';

/*
*---------------------------------------------------------------
* APPLICATION FOLDER NAME
*---------------------------------------------------------------
*
* If you want this front controller to use a different &quot;application&quot;
* folder than the default one you can set its name here. The folder
* can also be renamed or relocated anywhere on your server. If
* you do, use a full server path. For more info please see the user guide:
* http://codeigniter.com/user_guide/general/managing_apps.html
*
* NO TRAILING SLASH!
*/
$application_folder = 'application';
</pre>
</div>
<div style="color: #000000;"></div>
<div style="color: #000000;">・さらにセキュリティ高めたい場合は、ブラウザーから直接アクセス出来ないルートディレクトリより上位などのアプリケーションフォルダーの外部へapplicationフォルダやsystemフォルダー、viewsフォルダーを移動します。これに伴い、.htaccessファイルやindex.phpの編集方法は<a title="Installation Instructions" href="http://www.codeigniter.com/userguide3/installation/index.html" target="_blank">Installation Instructions</a>を参照して下さい。</div>
<div style="color: #000000;"></div>
<div style="color: #000000;">・（index.phpで宣言されている）ENVIRONMENT定数を切り替えることで、開発環境と運用環境を切り替えることが可能です。</div>
<div style="color: #000000;">
<pre class="brush: php; title: ; notranslate">
/*
*---------------------------------------------------------------
* APPLICATION ENVIRONMENT
*---------------------------------------------------------------
*
* You can load different configurations depending on your
* current environment. Setting the environment also influences
* things like logging and error reporting.
*
* This can be set to anything, but default usage is:
*
*     development
*     testing
*     production
*
* NOTE: If you change these, also change the error_reporting() code below
*/
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.auxak.com/install-codeigniter-3-0-dev/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XDebugを利用してNetBeansでPHPをデバッグするための環境構築</title>
		<link>http://blog.auxak.com/setup-for-debugging-php-on-netbeans-with-xdebug/</link>
		<comments>http://blog.auxak.com/setup-for-debugging-php-on-netbeans-with-xdebug/#comments</comments>
		<pubDate>Sat, 27 Sep 2014 19:02:35 +0000</pubDate>
		<dc:creator><![CDATA[auxakmaster]]></dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[開発環境]]></category>
		<category><![CDATA[Debug]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[XDebug]]></category>

		<guid isPermaLink="false">http://blog.auxak.com/?p=105</guid>
		<description><![CDATA[PHPのデバッグを効率化するために、NetBeansにXDebugを利用したPHPのデバッグ環境を整えます。  [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>PHPのデバッグを効率化するために、NetBeansにXDebugを利用したPHPのデバッグ環境を整えます。 これにより、PHPの処理を任意の位置に設置したブレークポイントで中断し変数値を確認したり、ステップ実行で処理を追いかけることが可能となります。</p>
<h2>PHP開発環境の準備</h2>
<p>XAMPPとNetBeansをインストールしてそれらが利用出来る環境を整えます。未だの場合は、<a title="WindowsにおけるPHP開発環境の構築" href="http://blog.auxak.com/setup-for-php-development-on-windows/" target="_blank">コチラ</a>を参照して下さい。</p>
<h2>XDebugダウンロード</h2>
<p>Windows用のXDebugのバイナリファイルを<a title="XDEBUG EXTENSION FOR PHP | DOWNLOADS" href="http://xdebug.org/download.php" target="_blank">XDEBUG EXTENSION FOR PHP</a>のダウンロードページからダウンロードします。</p>
<p>XDebugのバージョンは最新のバイナリファイルをダウンロードするのが良いでしょう。ただ同一XDebugのバージョンでも、OSのプラットフォーム（32bit or 64bit）、PHPのバージョン、スレッドセーフ（IISやApache worker MPMでPHPを実行する場合のZend Thread Safety（ZTS））対応有無により複数のバイナリファイルが公開されています。開発環境にあった適切なバイナリファイルをダウンロードして下さい。 ダウンロードしたバイナリファイルは、&lt;XAMPPインストールフォルダ&gt;\xampp\php\ext内に保存します。</p>
<p>適切なバイナリファイルを利用しないとXAMPPがそのバイナリファイルを読み込めずXDebugが有効になりませんので注意が必要です。</p>
<p>&nbsp;</p>
<p>ただ、実は<span style="text-decoration: underline;">適切なバイナリファイルを確実な方法で選択しダウンロードする方法がある</span>ので今回はこの方法を採用します。</p>
<p>バイナリファイルの配布先であるXDEBUG EXTENSION FOR PHPのWebサイトでは、phpinfo()が出力するHTMLソースからOSプラットフォーム、PHPバージョン、スレッドセーフ有無等を解析し、環境にあった適切なバイナリファイルのダウンロードURLを示してくれる親切な機能が提供されています。</p>
<p>XAMPPを起動させた状態で、http://localhost/xampp/phpinfo.phpにアクセスしてその全てのHTMLソースをコピーします。</p>
<p>次に、<a title="Xdebug: Support; Tailored Installation Instructions" href="http://xdebug.org/wizard.php" target="_blank">Xdebug: Support; Tailored Installation Instructions</a>にアクセスし赤枠内にコピーしたHTMLソースを貼り付け、[Analyze my phpinfo() output]をクリックします。</p>
<p><a href="http://blog.auxak.com/wp-content/uploads/2014/09/Xdebug-Support-Tailored-Installation-Instructions-form.png"><img class="alignnone size-full wp-image-112" src="http://blog.auxak.com/wp-content/uploads/2014/09/Xdebug-Support-Tailored-Installation-Instructions-form.png" alt="Xdebug-Support-Tailored Installation Instructions-form" width="774" height="764" /></a></p>
<p>&nbsp;</p>
<p>すると、phpInfo()の内容が解析され、赤枠内のINSTRUCTIONSにバイナリファイルのダウンロード先とphp.iniに追記すべき情報を示してくれます。</p>
<p>この指示に従い、バイナリファイルをダウンロードして下さい。</p>
<p><a href="http://blog.auxak.com/wp-content/uploads/2014/09/Xdebug-Support-Tailored-Installation-Instructions-Instructions.png"><img class="alignnone size-full wp-image-113" src="http://blog.auxak.com/wp-content/uploads/2014/09/Xdebug-Support-Tailored-Installation-Instructions-Instructions.png" alt="Xdebug-Support-Tailored Installation Instructions-Instructions" width="754" height="827" /></a></p>
<h2>php.iniの編集</h2>
<p>&lt;XAMPPインストールフォルダ&gt;\xampp\php\php.iniを開き、XDebugセクションを以下の通り編集し保存します。</p>
<p>まず、「;report_zend_debug = 0」のコメントアウトを外します。</p>
<pre class="brush: plain; title: ; notranslate">

; This setting is on by default.
;report_zend_debug = 0

</pre>
<p>2行目先頭のセミコロンを削除して以下の様にする。</p>
<pre class="brush: plain; title: ; notranslate">

; This setting is on by default.
report_zend_debug = 0

</pre>
<p>次に、XDebugセクションを探し、以下の通りに追加及び編集します。zend_extensionキーには、先のINSTRUCTIONSで示された情報を記載します。</p>
<pre class="brush: plain; title: ; notranslate">
[XDebug]
zend_extension = &quot;C:\xampp\php\ext\php_xdebug-2.2.5-5.5-vc11.dll&quot;
xdebug.remote_enable = On
xdebug.remote_handler = &quot;dbgp&quot;
xdebug.remote_mode = &quot;req&quot;
xdebug.remote_host = &quot;127.0.0.1&quot;
xdebug.remote_port = &quot;9000&quot;
xdebug.trace_output_dir = &quot;C:\xampp\tmp&quot;
</pre>
<h2>XDebugの有効化確認</h2>
<p>XAMPPを再起動させ、http://localhost/xampp/phpinfo.phpにアクセスします。下図のようにXDebugの情報が表示されていればXDebugの有効化は成功です。</p>
<p><a href="http://blog.auxak.com/wp-content/uploads/2014/09/phpInfo-xdebug.png"><img class="alignnone size-full wp-image-114" src="http://blog.auxak.com/wp-content/uploads/2014/09/phpInfo-xdebug.png" alt="phpInfo-xdebug" width="504" height="406" /></a></p>
<h2>NetBeans設定</h2>
<p>NetBeasnを起動し、メニューバーから[ツール] &#8211; [オプション]を開きます。</p>
<p>PHPのデバッグタブを開き、デバッガ・ポートに、php.iniにおいて、xdebug.remote_portに指定したポート番号を設定し保存します。</p>
<pre class="brush: plain; title: ; notranslate">
xdebug.remote_port = &quot;XXXX&quot;
</pre>
<p><a href="http://blog.auxak.com/wp-content/uploads/2014/09/NetBeans-option-debug-port.png"><img class="alignnone size-full wp-image-115" src="http://blog.auxak.com/wp-content/uploads/2014/09/NetBeans-option-debug-port.png" alt="NetBeans-option-debug-port" width="660" height="579" /><br />
</a></p>
<p>&nbsp;</p>
<p>以上で、XDebugを利用してNetBeasnでPHPをデバッグするための環境構築は完了です。実行したいPHPプロジェクトの実行構成を設定し、デバッグ機能を実行してみて下さい。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.auxak.com/setup-for-debugging-php-on-netbeans-with-xdebug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHPとMySQLの構成における日本語文字化けをPHPで対策する方法</title>
		<link>http://blog.auxak.com/solution-for-japanese-display-in-php-and-mysql/</link>
		<comments>http://blog.auxak.com/solution-for-japanese-display-in-php-and-mysql/#comments</comments>
		<pubDate>Sun, 07 Sep 2014 12:19:43 +0000</pubDate>
		<dc:creator><![CDATA[auxakmaster]]></dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://blog.auxak.com/?p=88</guid>
		<description><![CDATA[PHP 5.4.xとMySQL（5.6.20）の構成で、PHPから日本語をデータベース内に保存したところ、ph [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>PHP 5.4.xとMySQL（5.6.20）の構成で、PHPから日本語をデータベース内に保存したところ、phpMyAdmin上でその日本を見ると文字化けしてしまいました。逆に、phpMyAdmin上で入力した日本語はPHPからクエリして表示すると「???」になってしまいハマった対策を残します。尚、データベースに入出力した以外の日本語文字列は問題ありませんでした。</p>
<p>これが発生した環境は、XAMPP、NetBeasn、PHPファイルともにUTF-8を扱えるように設定済み、MySQL内のデータベースは、照合順序は「utf8_unicode_ci　（UNICODE（多言語）、大文字小文字を区別しない）」で作成したデータベースといった環境です。</p>
<p>専用サーバーであればMySQLのmy.confを編集して修正するのが簡単ですが、共用サーバーとなるとその方法での対策は難しいのでPHP側で対策する方法を紹介します。</p>
<p>&nbsp;</p>
<p>≪対策≫</p>
<p>クライアントの文字セットを<a href="http://php.net/manual/ja/function.mysql-set-charset.php" target="_blank">mysql_seｔ_charset</a>関数を利用してUTF-8に設定すれば良い。</p>
<pre class="brush: php; title: ; notranslate">
// データベースに接続
$link = mysql_connect('localhost', 'root', '');
// クライアントの文字セットを設定
mysql_set_charset('utf8', $link);
</pre>
<p>※上記サンプルはエラー処理は考慮されていません。</p>
<p>&nbsp;</p>
<p>ただし、PHPマニュアルによるとこの方法はPHP 5.5.0より下図の通り非推奨になったとのこと。</p>
<p>PHP 5.5.0以降で開発する場合は、紹介されている代替の方法を採用してください。</p>
<p><a href="http://blog.auxak.com/wp-content/uploads/2014/09/mysql_set_charset.png"><img class="alignnone size-full wp-image-90" src="http://blog.auxak.com/wp-content/uploads/2014/09/mysql_set_charset.png" alt="mysql_set_charset" width="689" height="434" /></a></p>
<p>&nbsp;</p>
<p>≪注意≫</p>
<p>この対策をネット調査している際に、データベースに対し、</p>
<pre class="brush: sql; title: ; notranslate">

SET NAMES UTF8

</pre>
<p>とクエリを実行して文字セットを変更したら日本語の文字化けが解消したと対策を紹介されています。</p>
<p>確かにこの方法でも対策は出来、以前はこの方法が一般的だったようですが、<a href="http://ja.wikipedia.org/wiki/SQL%E3%82%A4%E3%83%B3%E3%82%B8%E3%82%A7%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3" target="_blank">SQLインジェクション</a>の脆弱性があることが判明しているので推奨されません。</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.auxak.com/solution-for-japanese-display-in-php-and-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHPのrequire / require_once / include / include_onceの使い分け</title>
		<link>http://blog.auxak.com/php-how-to-use-require-include/</link>
		<comments>http://blog.auxak.com/php-how-to-use-require-include/#comments</comments>
		<pubDate>Thu, 04 Sep 2014 03:53:16 +0000</pubDate>
		<dc:creator><![CDATA[auxakmaster]]></dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.auxak.com/?p=80</guid>
		<description><![CDATA[PHPでは、外部ファイルを読み込む構文として「require」や「include」があります。また、同一のファ [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>PHPでは、外部ファイルを読み込む構文として「require」や「include」があります。また、同一のファイルの複数回読み込みを防止した「XXX_once」付などもあります。</p>
<p>それらを使い分けは下表を参照してください。</p>
<p>&nbsp;</p>
<div class="table-responsive"><table  style="width:100%; "  class="easy-table easy-table-default " border="0">
<thead>
<tr><th  style="text-align:left " >構文</th>
<th  style="text-align: center " >同一外部ファイルの複数回読み込み</th>
<th  style="text-align: center" >ファイル未存在時</th>
<th ></th>
</tr>
</thead>
<tbody>
<tr><td  style="text-align:left " >require</td>
<td  style="text-align: center " >〇</td>
<td  style="text-align: center" >Fatal Error</td>
</tr>

<tr><td  style="text-align:left " >require_once</td>
<td  style="text-align: center " >×</td>
<td  style="text-align: center" >Fatal Error</td>
</tr>

<tr><td  style="text-align:left " >include</td>
<td  style="text-align: center " >〇</td>
<td  style="text-align: center" >Warning</td>
</tr>

<tr><td  style="text-align:left " >include_once</td>
<td  style="text-align: center " >×</td>
<td  style="text-align: center" >Warning</td>
</tr>
</tbody></table></div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.auxak.com/php-how-to-use-require-include/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
