他のいくつかの質問を読んでいますが、アクセント付きの文字を含む文字列をプレーン文字に変換する問題にまだ取り組んでいます(つまり、azを意味します)
私はすでに次のようにエンコードされている製品名「Áhkka」を持っています"Áhkká"
これをアクセント付きの文字列にデコードし、「Ahkka」に変換したい
これまでのところ、私は試しました:
function convert($name) {
$name = html_entity_decode($name,ENT_COMPAT,"UTF-8");
$name = iconv('UTF-8', 'ASCII//TRANSLIT', $name);
return $name;
}
iconv からエラーが表示されます:「入力文字列に不正な文字が検出されました」
htmlspecialchars_decode($name); も使用してみました。しかし、それは私に「hkk」を与えます</p>
アクセントをクリアする文字列置換関数も見つけましたが、html 以外の文字列を渡すことができないようです
$name = strtr($name,'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ','aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY');
誰かが解決策を提供してもらえますか? サーバーは PHP 5.2.13 を実行しています。iconv は glibc 2.5 を有効にします (入力/内部/出力エンコーディングは phpinfo で ISO-8859-1 です)