勉強したことのメモ

webプログラマが勉強したことのメモ。

PHPの文字化け対策

      2014/07/03

PHPファイルもDBも全部UTF-8で出来たらいいけど、
そうもいかない場合が多いので文字化け対策。

-----

■headerでデータタイプを宣言する
header("Content-type: text/html charset=Shift_JIS");

-----

■mb_internal_encodingで内部コードを設定する。
mb_internal_encoding("UTF-8");

※引数なしだと現在の内部コードを表示できるとのこと。
echo mb_internal_encoding();

-----

■urlencodeでURLエンコード
echo '<a href="index.php?name=', urlencode($str),'">';

日本語をクエリで送る際とかに使用する。
文字コード変えて送ることも出来るが、
どうにもならない時はこれを試す。

-----

■mb_convert_encodingで文字コードを変換する
$str = mb_convert_encoding($str, "EUC-JP", "UTF-8");

これだとUTF-8からEUC-JPへの変換になる。
現在の文字コードをauto指定すると自動検出可能だが
厳密ではないらしい。

-----

■mb_detect_encodingで現在の文字コードを調べる
echo mb_detect_encoding($str);

これはあんまり厳密な判定じゃないらしい。

-----

■DB接続時にset namesを使う
mysql_query("SET NAMES ujis");

脆弱性があるらしい。

-----

mysql_set_charsetで文字コード指定
mysql_set_charset('utf8');

PHP5.2.2以上で使えるとのこと。
会社のサーバーのPHPバージョンは未確認。

-----

以上。

 - PHP

  関連記事

FLASHから受信した画像をPHPで保存し、サムネイルも作る

■参考サイト ・FLASH http://www.ilovex.co.jp/bl ...

PHPでメモリの使用率確認

PHPでメモリの使用率を確認。ついでに処理時間も一緒に表示。 /*ヘッダに書いと ...

PHPでAPIを作成しJavaScript(jQuery無し)からリクエストする方法

管理画面等から何らかのデータをMySQLに登録し、そのデータをPHPで作成したA ...

GoogleスプレッドシートとPHPの連携

GoogleスプレッドシートとPHPプログラムを連携させたいという案件をたまに見 ...

エラー管理

<? /*エラー管理*/ //画面上にエラー表示させるかどうか。0⇒非表示 ...

Fatal error: [] operator not supported for stringsの対処

Fatal error: [] operator not supported f ...

Twigの使い方簡易メモ

開発中の案件でテンプレートエンジンのTwigを利用する機会があった。使ってみた感 ...

PHPの条件式でまとめて評価

PHPのソースで、 if( !($hoge || $fuga || $foo) ...

フォームからCSVファイルをアップロードしてPHPの配列に格納する方法

formからcsvファイルをアップロードさせて、PHPで色々処理したかった。とり ...

incファイルとかtplファイルとか

初めて見るサーバーのファイルを見ていると incファイルとかtplファイルとか見 ...