str_replaceは、アクセント付きの文字をアクセントのない文字に置き換えません。それのどこが悪いんだい?アクセントを削除する - アクセントのない文字をstr_replaceの付いた文字で置き換えます。
これは予想される結果を返します:
<?php
$string = get_post_custom_values ("text");
// Say get_post_custom_values ("text") equals "José José"
$string = str_replace(" ", "-", $string);
echo $string [0];
// Output "José-José"
?>
これは動作しません:
<?php
$string = get_post_custom_values ("text");
// Say get_post_custom_values ("text") equals "Joseph Joseph"
$string = str_replace("é", "e", $string);
echo $string [0];
// Output "José José". Nothing has changed
?>
注:Google翻訳でポルトガル語からの翻訳。
http://stackoverflow.com/questions/1728746/how-to-properly-handle-international-character-in-php-mysql-apache、 "PHP"セクションを参照してください。 –