勉強したことのメモ

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

  関連記事

images
preg_matchについて

PHPでのpreg_matchについて教わることがあったのでメモ。 ■参考サイト ...

javascript_logo_unofficial-300x300
セレクトメニューとテキストエリアの連動

やりたかった事は、 ・セレクトメニューで何れかを選択すると連動したテキストエリア ...

images
PHPでCSVファイルを作って開くと「SYLKファイルが云々」のアラートが出た

データベースのログを整形してCSVファイルを生成し、ダウンロード及びエクセルで開 ...

images
PHPで画像のサイズや拡張子等、詳細情報を取得

PHPで画像のサイズや拡張子等、詳細情報を取得する際 いつもググってしまっていた ...

images
日付の比較で○日前というのを調べる

PHP及びjavascriptで日付の比較をしたく、締切日とかではなく ○日前と ...

images
PHPでコマンドを実行して画像を加工

PHPで画像をリサイズしたりサムネイルを作ろうとすると、 ソースが長くなって面倒 ...

images
mp3ファイルのアップロードと再生方法

mp3ファイルをformでアップロードしたかったのと、Webサイト上で再生したか ...

images
PHPで画像のアップロード

<php define('IMAGES_DIR', dirname($_S ...

images
PHPで配列を検索クエリ化、検索クエリを配列化

PHPで配列を検索クエリ化、検索クエリを配列化する方法のメモ。   ■ ...

images
mb_convert_variablesとmb_convert_encodingの違い

両関数の違いについて、引数の場所というか順番が違うだけ? と思ってたけどどうにも ...