疑問符ダイヤモンドを示す外国人キャラクター

私は問題がある、私はタイトルにromainian文字を持っているが、このコード:

{exp:channel:entries channel="filme" orderby="title" sort="asc" dynamic="off" limit="1000"}
<?php
$letter = strtoupper(mb_substr('{title}', 0, 1));
if ($temp != $letter) {
    echo "".$letter."";
    $temp = $letter;
}
?>

{/exp:channel:entries}

次のようなものをşţăîに表示します: 私は、PHPの出力がうまく来て、私のソート方法を動作させるために何をすべきですか? 私はアルファベットを構築したい..

1
mb_substr( '{title}'、0,1、 'UTF-8')を試しましたか?
追加された 著者 Nikos Steiakakis,
ちょっと@Jeremy私はconfig.phpのテンプレートUTF-8で特定しました。しかし運は全くない:((
追加された 著者 Beofett,
あなたのテンプレートにはどのような文字セットが指定されていますか?
追加された 著者 Andrew Grimm,

1 答え

次のコードを試してください:

{exp:channel:entries channel="filme" orderby="title" sort="asc" dynamic="off" limit="1000"}
<?php
mb_internal_encoding ("utf-8");
$letter = mb_strtoupper((mb_substr('{title}', 0, 1)));
if (!in_array($letter, $temp)) {
    echo "".$letter."";
    $temp[] = $letter;
}
?>

{/exp:channel:entries}
1
追加された
なぜあなたはこれが手紙であると思いますか?私は別の手紙を見る - S!=Ş。 A-Zリストを作成しようとしましたか?お試しください - gotolow.com/addons/low-alphabet また、{title}を{url_title}に置き換えることもできます。または、文字を配列に追加して、in_array()関数でcondをチェックすることもできます。この場合、このlangを保持します。重複を排除します。
追加された 著者 Nikos Steiakakis,
もしあなたがそれを分離したいなら、in_arrayを使ってバージョンを試してみてください。私は自分の投稿を更新する。
追加された 著者 Nikos Steiakakis,
それを試して、うまくいった!唯一の問題は今私は次のような手紙の複数の繰り返しを取得することです:(1 3 4 ABCDEFGHI私はI IKKLMNOPQRS S S S S S ST S TUVW - 私のコードで何が間違っていますか?
追加された 著者 Beofett,
私は低アルファベットを試しましたが、それは私にŞとŢのようなローマ語の外国人の文字を取得しません、それはsとţとしてtを取るでしょう...
追加された 著者 Beofett,
ありがとうありがとうございました、私は別のものを持っていますここで:私は手紙をクリックしてリンクに行くことができます。アルファベットのように..
追加された 著者 Beofett,