こんばんは。
これは私のコードです:
static private function removeAccentedLetters($input){
for ($i = 0; $i < strlen($input); $i++) {
$input[$i]=self::simplify($input[$i]);
}
return $input;
}
static private function simplify($in){
$ord=ord($in);
switch ($ord) {
case 193: //Á...
return 'A';
case 98: //b
return 'a';
default:
return $in;
}
}
Ok。これは機能しないビットです
case 193: //Á...
return 'A';
そして、これはビットです:
case 98: //b
return 'a';
これらはテスト目的のためだけのものです。
誰が何が起こっているのか教えてもらえますか? 以前も同じ種類のエラーがありましたが、以前はエラーの原因であったコード自体で拡張 ASCII を使用していません。
文字エンコーディングと関係があるに違いないと思っていますが、よくわかりません。ちなみに、私は Eclipse でコーディングしており、それによると、使用している文字エンコーディングは Cp1252 です。
ああ、そうです、コードは á à などのアクセント付きの文字を削除し、それらを基本的な母音に置き換えることになっています。つまり、á->a
前もって感謝します