クライアントからは必ず utf-8 渡しになる ( 共通 ) |
|
|
<?
# **********************************************************
# PHP の urlencode をクライアントのキャラクタセット
# にあわせて変換して結果を返す
#
# ( このソースコードは、UTF-8N CR+LF です )
# **********************************************************
header( "Content-Type: text/xml; Charset=utf-8" );
mb_language( 'ja' );
mb_internal_encoding('UTF-8');
# PHP によって変換されてしまったコードを元に戻す
foreach( $_GET as $Key => $Value ) {
$_GET[$Key] = str_replace("\\\\", "\\", $Value );
$_GET[$Key] = str_replace("\\'", "'", $_GET[$Key] );
$_GET[$Key] = str_replace("\\\"", "\"", $_GET[$Key] );
}
$text = 'charset が正しく指定されていません';
if ( strtoupper( $_GET['charset'] ) == 'SHIFT_JIS' ) {
$ret = mb_convert_encoding(
$_GET['text'], "SHIFT_JIS", "UTF-8"
);
$text = urlencode( $ret );
}
if ( strtoupper( $_GET['charset'] ) == 'EUC-JP' ) {
$ret = mb_convert_encoding(
$_GET['text'], "EUC-JP", "UTF-8"
);
$text = urlencode( $ret );
}
if ( strtoupper( $_GET['charset'] ) == 'UTF-8' ) {
$text = urlencode( $_GET['text'] );
}
print $text;
?>
| |
|
|
|