Ajax 日本語処理


  PHP ( Shift_JIS )



HTTP ヘッダーの charset と、実際のデータのキャラクタセットが一致している必要があります。
( それさえ守れば、サーバーから出力するキャラクタセットはなんでもかまいません )

※ 静的なファイルでは、HTTP ヘツダーに charset を付加できない為、
※ デフォルトのutf-8 で書かないとクライアント側で正しく取得できません。

ソースコードのキャラクタセットは、ソースコード外部のデータのキャラクタセットによって決めると良いでしょう
( ファイルや DB )

  
<?
header( "Content-Type: text/html; Charset=shift_jis" );
header( "Expires: Wed, 31 May 2000 14:59:58 GMT" );

# PHP によって変換されてしまったコードを元に戻す
foreach( $_GET as $Key => $Value ) {
	$_GET[$Key] = str_replace("\\\\", "\\", $Value );
	$_GET[$Key] = str_replace("\\'", "'", $_GET[$Key] );
	$_GET[$Key] = str_replace("\\\"", "\"", $_GET[$Key] );
}

# 内部コードは utf-8 にしておく( なるべく問題が起こらないように )
mb_language( "ja" );
mb_internal_encoding("UTF-8");

# 入力は utf-8 なので、shift_jis に変換
$sjis = mb_convert_encoding($_GET['value'], 'SHIFT_JIS', 'UTF-8');

# shift_jis で比較
if ( $sjis == '送信' ) {
	$sjis = '送信を受信しました';
}

# Charset=shift_jis なので、そのまま返す
print $sjis;

?>
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加




SQLの窓  天気  IT用語辞典
Yahoo!ニュース  マルチ辞書
PHP マニュアル  Google URL短縮 


フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ