![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
PHPのcURL関数を使って、POSTしているのですが、POSTの値をUTF-8からSJIS-winに変換して送信したところ、受け側で文字化けしてしまいます。
※ちなみに、ソースはUTF-8です。
ソース的には、ざっくり以下のような感じです。
$params = 'name=' . $name;
$params .= '&kana=' . mb_convert_kana($kana, 'k');
$params = mb_convert_encoding($params, 'SJIS-win', 'UTF-8');
・・・
$urlConnect = curl_init();
・・・
curl_setopt($urlConnect, CURLOPT_POSTFIELDS, $params);
$res = curl_exec($urlConnect);
受け側を見ると、
mb_detect_encoding($_POST['name'])
が、「UTF-8」となっていました。
解決するポイントでも構いませんので、ご指導お願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
mbstring.encoding_translation が On になっていませんか?
mbstring.http_input, mbstring.http_output 辺りも確認してみてください。
cf.) http://jp.php.net/manual/ja/mbstring.configurati …
今回とはあまり関係ないかもしれませんが、urlencode も通しておくことをお勧めします。
半角かなについては承知の上で使っているなら、問題ないと思います。
ご回答ありがとうございます。
まさに、mbstring.encoding_translation が On になっていました。
こちらを Off にすることで文字化けが解消しました。
どうもありがとうございました!
昨日ご回答頂きました方もどうもありがとうございました!
No.1
- 回答日時:
ざっくり調べたところ、UTF-8のBOMが悪さをしているようです。
対応としては、BOMを取り除くファンクションを作る、BOMの付加されないエディタを利用するといった方法がググれました。
早速回答ありがとうございます!
BOMを除くファンクションを作って試してみましたが、下記のやり方では状況は変わりませんでした。
BOMを調べると、「UTF-8形式のファイルを読み込んだ場合、ファイルの先頭データがBOMというのになっている場合がある。」と書いてあり、
今回のケースでは、どのタイミングで対応すれば良いのかがわかりませんでした。
かなり勘違いしているかもしれませんが、どのタイミングで対応すべきかご教授いただけると助かります。
// BOM除去ファンクション
function delete_bom($str) {
if (ord($str{0}) == 0xef && ord($str{1}) == 0xbb && ord($str{2}) == 0xbf) {
$str = substr($str, 3);
}
return $str;
}
//先程のソースに、BOM除去ファンクションを呼び出す
$params = mb_convert_encoding($this->delete_bom($params), 'SJIS-win', 'UTF-8');
何度もすみませんが、宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP php ログイン 1 2022/11/01 00:24
- Excel(エクセル) 文字化け。メモ帳でUTF-8に変換後、エクセルへ貼り付けたいです。 3 2022/08/14 07:21
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS <meta charset="utf-8"><!-- 文字化け防止ユニコード --> ?最近モバイル 1 2022/12/11 04:27
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PostgreSQLからCSV形式でエクス...
-
正規表現で数値から始まりYを1...
-
メールフォームが部分的に文字...
-
PHPのsendmailでの文字化けにつ...
-
PHP4.3でapplication/x-javascript
-
SJISからUTFに変換して...
-
UTC-8→SJISで文字化け
-
次のPHPの式で間違っているとこ...
-
PHP+Postgres 「髙」が文字化け
-
携帯とPCにメールを送る(文字...
-
mb_send_mailの2重投稿を防止し...
-
PHPスクリプトでエンコードエラー
-
SQL Serverで文字コードUTF-8
-
SJISで取得した半角カナをUTF-8...
-
よく、書式で出てくる ○○ ( ○○,...
-
mb_internal_encoding('sjis');
-
「あ」→「82A0」のようにshift-...
-
PHP cURLでPOSTした値が文字化...
-
特殊な文字エンコーディングで...
-
VBAのコマンドボタンの文字列の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字化け変換方法
-
phpのメールフォームの完了画面...
-
SQL Serverで文字コードUTF-8
-
UTF8メールがLotus Notesで文字...
-
SJISで取得した半角カナをUTF-8...
-
mail()で送信したメールのタイ...
-
RSSを取得すると文字化けする。
-
includeファイルの文字コードに...
-
phpフォームで携帯へメール送信...
-
PHP+Postgres 「髙」が文字化け
-
廣のjis変換で文字化け
-
小さいひらがな(っ、ょ、ぃ、ゃ...
-
PostgreSQLからCSV形式でエクス...
-
メールのCCに複数のアドレスを...
-
PHPmailerでの添付ファイルの文...
-
ASCII文字列をEUCなどに変換し...
-
mb_convert_encoding で 一部の...
-
SJIS→UTF-8変換後の文字化けに...
-
CGIを作っています。渡されて来...
-
mb_ereg_replace での文字変換
おすすめ情報