Index: /trunk/include/functions_html.inc.php
===================================================================
--- /trunk/include/functions_html.inc.php (revision 12760)
+++ /trunk/include/functions_html.inc.php (revision 12761)
@@ -295,5 +295,15 @@
function tag_alpha_compare($a, $b)
{
- return strcmp(strtolower($a['url_name']), strtolower($b['url_name']));
+ global $page;
+
+ foreach (array($a, $b) as $tag)
+ {
+ if (!isset($page[__FUNCTION__.'_cache'][ $tag['name'] ]))
+ {
+ $page[__FUNCTION__.'_cache'][ $tag['name'] ] = strtolower(str2url($tag['name']));
+ }
+ }
+
+ return strcmp($page[__FUNCTION__.'_cache'][ $a['name'] ], $page[__FUNCTION__.'_cache'][ $b['name'] ]);
}
Index: /trunk/tags.php
===================================================================
--- /trunk/tags.php (revision 12760)
+++ /trunk/tags.php (revision 12761)
@@ -100,5 +100,5 @@
foreach ($tags as $tag)
{
- $tag_letter = strtoupper(substr($tag['url_name'], 0, 1));
+ $tag_letter = strtoupper(mb_substr(str2url($tag['name']), 0, 1, 'utf-8'));
if ($current_tag_idx==0) {
@@ -172,5 +172,8 @@
// we want tags diplayed in alphabetic order
-usort($tags, 'tag_alpha_compare');
+if ('letters' != $page['display_mode'])
+{
+ usort($tags, 'tag_alpha_compare');
+}
// display sorted tags