![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
こんにちは教えてください。
AJAXからPHPを呼んで、PHPから全角文字を受け取ると文字化けしてしまいます。いずれも文字コードはSJISです。例えば下のような感じです。(AsyncRequest()はXMLHttpRequestのオブジェクトを作って返す関数です)
文字化けの原因は何でしょうか?
/*************************************
JavaScript側
*************************************/
var Async = AsyncRequest();
Async.open( "GET" , "test.php );
Async.send( null );
Async.onreadystatechange = function(){
if( Async.readyState == 4 && Async.status == 200 ){
alert( Async.responseText );
}
}
/*************************************
test.php側
*************************************/
<?PJP
Print( "こんにちは" ) ;
?>
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
私は既存のシステムがEUCでつくられておりUTF-8にするのがめんどくさくてここにきました。
かなり時間経ってますが、
いまだにここに辿り着く私のようなものもいるので解決方法を記します。
今回の質問の場合ですとphp側で
<?php
Print(mb_convert_encoding("こんにちは",'UTF-8','SJIS')) ;
?>
という具合にSJISをUTF-8に変換して戻せばキチンと表示されました。
また、逆に、phpに対して全角文字を渡す場合には、
参考URLにあるように、ecl.jsという便利なjsファイルがあるので
EscapeSJISなどをつかうと"(株)"などの特殊な文字でもphpへうまく渡せました。
ajax、php間の全角文字のやり取りでは、そのほかに
javascript:encodeURI
php:urldecode
などがキーワードになるかと思います。
参考URL:http://felix-labo.jp/pukiwiki/?JavaScript%2F%E5% …
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_15.png?8acaa2e)
No.3
- 回答日時:
私は、以下のサイトを参考にして、AJAXとperlの通信プログラムをつくりました。
結論は、JavaScriptがutf8しか解釈しないので、それに合わせる以外にないようです。
JavaScriptを記述しているhtmlもurf8で保存し直す必要があります。
http://allabout.co.jp/career/javascript/closeup/ …
参考URL:http://allabout.co.jp/career/javascript/closeup/ …
No.2
- 回答日時:
過去私も#1さん同様UTF-8を採用しました。
Linux系のディストリビューションのOSで
PHPを動かしていたので何もかも文字コードはUTF-8
でってな感じでやってました。
ほんとに考えることが1つ減ります。
そのときにだったかな?使ってたコードが見つかりましたので
出力部分を示します。
$message = "日の丸弁当梅干抜きで";
$data = rawurlencode($message);
//出力charsetをutf-8に
mb_http_output('UTF-8');
//出力
echo($data);
No.1
- 回答日時:
私がprototype でAJAXを使ったときは、文字コードはすべてUTF-8にしましたね。
XML では、EUCもSJISも使わないほうが経験的に無難だったからなんですけど。
私なら、他のコンテンツも含めてUTF-8にします。
考えることが減りますから。
test.php側で返す文字をUTF-8に変換すれば良いだけかもしれません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- PHP 文字列を段落で分ける方法を教えて下さい。 2 2023/03/09 10:03
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- PHP メールフォームのタイトルが文字化け 2 2023/06/17 12:00
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHP(.php)及びJavascrpit(.j...
-
phpのソースコードが、そのまま...
-
include先でのinclude元の変数...
-
パスワード等が記述されているp...
-
シェルスクリプトからphpファイ...
-
PHPから別なPHPへ移動(?)する方法
-
別ファイルの変数を呼び出した...
-
空メールからの標準入力が受け...
-
関数内の配列$list[0]~$list[2...
-
phpinfo.phpを開くとファイルの...
-
AJAXとPHPの全角文字の受け渡し
-
このたびpostgresql初めて使用...
-
他人にphpファイルをダウンロー...
-
フォントの色を変えるには?
-
onedrive にexcelファイルをア...
-
パースエラーとは?
-
PHPでネットワークドライブのop...
-
CFileDialogの最初のディレクト...
-
[php初心者]サイトを見てデータ...
-
PHP session_destroyとsession...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ファイルの変数を呼び出した...
-
別PHPファイルに変数を渡す
-
シェルスクリプトからphpファイ...
-
include先でのinclude元の変数...
-
phpinfo.phpを開くとファイルの...
-
phpのソースコードが、そのまま...
-
Javascriptで解凍のコマンドは...
-
phpのプログラムエラー
-
codeigniterでcron実行したい
-
1行目の#! "C:\\xampp\\php\\p...
-
拡張子をphpではなくcgi...
-
Fatal errorについて教えてくだ...
-
CGIタイプのPHPとは・・・?
-
テンプレート化したphpのmenu.p...
-
FPDFでPDFファイルが表示されない
-
ローカルでは動くがサーバーで...
-
cronで外部ファイルへアクセス
-
PHP(.php)及びJavascrpit(.j...
-
このたびpostgresql初めて使用...
-
プログラミング初心者です 先程...
おすすめ情報