[PHP-users 2762] [Q]関数[Strtr()]での文字化け
水迫清仁
php-users@php.gr.jp
Tue, 16 Oct 2001 18:27:39 +0900
こんにちは。水迫です。
現在、
PHP 4.0.5
APACHE 1.3.20
にてページの作成をしているのですが、PHPの文字列関数[Strtr()]で、文字化
けの現象が発生しました。
現象発生例
<html>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
<body>
<?
$input_str = "法規";
↓全角空白
$trans_str = Strtr($input_str, " "," ");
$trim_str = Trim($trans_str);
echo "input_str->" . $input_str . "<br>\n";
echo "trans_str->" . $trans_str . "<br>\n";
echo "trim_str ->" . $trim_str . "<br>\n";
?>
</body>
</html>
以上のようにすると結果として、
input_str->法規
trans_str->迷規
trim_str ->迷規
このように文字が化ける?状態になってしまいます。
submit等で渡ってきた変数$input_str 内に全角空白があると[Trim()]が効かな
いので、[Strtr()]にて全角空白を半角空白にしているというわけです。
すべての文字がこうなるわけでは無いですが、原因が分かりません。
現在は、上記の文字の回避用に
↓全角空白
$trans_str = ereg_replace(" "," ",$input_str);
以上のような関数を使用しています。
しかし、これも正しいのどうかもわかりません。
どなたか、上記のエラーについてご存じの方がいましたら、教えていただけない
でしょうか。また、有効策をご存じの方がいらっしゃいましたら、そちらも教え
ていただけないでしょうか。よろしくお願いいたします。
_/_/_/_/_/_/_/_/_/_/_/_/_/
Mizusako
mizusako@southwave.co.jp
_/_/_/_/_/_/_/_/_/_/_/_/_/_