電子書籍の厳選無料作品が豊富!

ajaxからphpにデータをpostしたときに日本語が文字化けしてしまいます。

いろいろと調べながら、javascript側でencodeURIComponent関数でエンコードし、
php側ではrawurldecode関数でデコードしています。
たとえば、「ああああ」のように日本語を入力すると???のような文字になっています。

どこから調べたらよいか行き詰って困っています。
よろしくお願いします。

$.post(
'functionbyphp',
{
"id" : $("#id").val(),
"name" : encodeURIComponent($("#name").val()),
},
function(data) {
alert("ok");
},
'json'
);

public function functionbyphp() {
$id = $this->input->post('id');
$name = rawurldecode($this->input->post('name'));
}

A 回答 (1件)

rawurldecode は不要です。



ブラウザから送信されるデータはおそらく UTF-8 だから、mb_convert_encoding で文字コードを変換すればよいはずです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!