WEB関連を中心に学んだことを記録する|raining

raining

日常で感じたこと、覚えたことの記録

メインメニュー

メインコンテンツへ移動
サブコンテンツへ移動
  • raining home
  • about
  • sitemap
  • contact

タグ別アーカイブ: EUC-JP

CPI:CPIサーバでPOSTの値が文字化けする対処方法

Posted on 2013年1月29日 by raining
2

CPIのサーバを使用した時にPOSTで渡されるデータが文字化けしてしまったので対処方法をメモします。
文字化けする原因はCPIサーバのPHPの文字コードがEUC-JPで設定されている為、UTF-8で制作している場合POSTの値が文字化けしてしまいます。
対処方法としてはphp.iniの設定を変更するか、POSTの値の文字コードを「mb_convert_encoding」で変換します。


■ php.iniの設定を変更

1.CPIのWEBコントロールパネルにログインします。

2.「お客様情報」→「プログラムのパスとサーバの情報」をクリックします。

cpi_mojicode_1

3.「プログラムのパスとサーバの情報」画面の下部に「PHP iniの設定情報」があるので、指定のPHPのバージョンをクリックします。

cpi_mojicode_2

4.「PHP iniの設定情報」画面が表示されるので、設定内容をコピーし、php.iniを作成します。

cpi_mojicode_3

5.作成したphp.iniファイルの下記のようにを修正します。

・php.iniファイル修正前

mbstring.internal_encoding = EUC-JP
mbstring.encoding_translation = On

・php.iniファイル修正後

string.internal_encoding = utf-8
mbstring.encoding_translation = Off

6.修正したphp.iniファイルをサーバにアップロードします。

ドキュメントルートより前の階層にconfというディレクトリ作成しアップしました。

/usr/home/ユーザーID/conf/

7.「.htaccess」に下記の内容を設定しドキュメントルートにアップロードします。

「suPHP_ConfigPath /usr/home/ユーザーID/conf/」でphp.iniファイルの場所を指定します。
また、php.iniをブラウザからアクセスさせないように設定します。

・設定内容

AddHandler x-httpd-php536 .php
Options +FollowSymLinks
suPHP_ConfigPath /usr/home/ユーザーID/conf/

<Files ~ "\.ini">
deny from all
</Files>

・アップロードディレクトリ

/usr/home/ユーザーID/html/

8.アップロードが完了すれば、設定完了です。

phpinfo()で文字コードがutf-8に変更されていること確認できます。


■ mb_convert_encodingでPOSTの値を変換

POSTの値をループさせ、データをmb_convert_encodingでEUC-JPからUTF-8に変換します。

	foreach ($_POST as $key => $value) {
		$post[$key] = mb_convert_encoding($value, "UTF-8", "EUC-JP");
	}

$postにUTF-8に変換したデータが格納されます。
データが少ない場合などは上記の方法でも対応できます。


カテゴリー: CPI | タグ: CPI, EUC-JP, UTF-8 | 2件のフィードバック

最近の投稿

  • PHP:PHPの基礎知識 第1回 PHPの基礎的な概要について|PHP7初級試験対策
  • PHP:PHP7初級試験(PHP技術者認定試験)の資格取得合格への受験対策や学習方法などについて
  • Laravel:PHPUnitを使用してテストする際の基本的な実施方法
  • Laravel:Route::resourceの「only」と「except」でリクエストを制限する
  • Laravel:Non-static methodのエラーが発生した時の対応方法

アーカイブ

  • 2020年3月
  • 2020年2月
  • 2019年9月
  • 2019年8月
  • 2014年9月
  • 2014年8月
  • 2014年7月
  • 2014年6月
  • 2014年5月
  • 2014年4月
  • 2014年3月
  • 2014年2月
  • 2014年1月
  • 2013年12月
  • 2013年11月
  • 2013年10月
  • 2013年9月
  • 2013年8月
  • 2013年7月
  • 2013年6月
  • 2013年5月
  • 2013年4月
  • 2013年3月
  • 2013年2月
  • 2013年1月
  • 2012年12月

カテゴリー

  • .htaccess (9)
  • CakePHP (6)
  • Chrome (3)
  • Codeigniter (5)
  • CPI (4)
  • CSS (14)
  • Dreamweaver (4)
  • EC-CUBE (1)
  • English (1)
  • Facebook (2)
  • FCKeditor (1)
  • Firefox (2)
  • Fireworks (3)
  • FuelPHP (20)
  • Git (1)
  • Google (2)
  • HTML (10)
  • Javascript (16)
  • jQuery (32)
  • Laravel (3)
  • LINE (1)
  • Linux (34)
  • MySQL (7)
  • php (39)
  • postfix (1)
  • PostgreSQL (3)
  • SAKURA Internet (1)
  • SlideShare (1)
  • Smarty (5)
  • SNS (3)
  • Thunderbird (8)
  • Twitter (2)
  • Vimeo (1)
  • Web service (3)
  • Windows (4)
  • wordpress (22)
  • XML (1)
  • 正規表現 (1)
  • 秀丸 (1)
2025年5月
月 火 水 木 金 土 日
« 3月    
 1234
567891011
12131415161718
19202122232425
262728293031  
Copyright (C) 2012 - 2013 raining All Rights Reserved.