Форум сетевых администраторов
Показаны 27 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- Хаки от Netadmin или "Сделай сам" (http://netadmin.ws/forum/forumdisplay.php?forumid=76)
-- Кириллица в Member List (http://netadmin.ws/forum/showthread.php?threadid=7734)


Помещено Tagore 03-02-2004 в 21:19:

Wink Кириллица в Member List

Как добавить русские буквы в memberlist.php?
Помню что было дело в вБ2, искал два раза, все пусто ...

__________________
Международное брачное агенство в Сибири.


Помещено polo 03-02-2004 в 21:53:

1. Ð_едактируем шаблон memberlist, добавляем выше:
<if condition="$vboptions['usepopups'] AND !$show['usergroup']">

code:

<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<tr align="center">
	$russianletterbits
</tr>
</table>


2. В файле memberlist.php находим:

PHP:

$userscount 
= $DB_site->query_first("


и выше добавляем:

PHP:

// russian letters
    
for ($i=192; $i < 223; $i++)
    {
        
$currentletter = chr($i);
        
$linkletter = &$currentletter;
        
$show['selectedletter'] = iif($selectedletter == $currentletter, true, false);
        eval(
'$russianletterbits .= "' . fetch_template('memberlist_letter') . '";');
    }


это все.

__________________
Всегда есть решение.


Помещено Tagore 03-02-2004 в 23:25:

polo
Спасибки. А у меня вопрос - какой for ($i=192; $i < 223; $i++) надо прописать (может это где можно прочитать? наверно на пхп.нет?), чтобы был алфавит с диакритическимы знакамы, типа для латышского долгого аа.

__________________
Международное брачное агенство в Сибири.


Помещено polo 03-02-2004 в 23:42:

Я юзаю Ultra Edit -> View -> Ascii Table.

__________________
Всегда есть решение.


Помещено Igor 05-02-2004 в 07:18:

polo,
у тебя нет никаких идей, почему так может получаться: в английских списках юзеров все нормально, а вот в русских немного намешаны участники. Например если смотрю участников на букву "И", то там есть и на "К" и на "Л" и т.д.

__________________
C уважением, Игорь
cblog.ru


Помещено polo 05-02-2004 в 21:31:

Думаю что кодировка базы. http://www.netadmin.ws/forum/showth...p?threadid=7576

__________________
Всегда есть решение.


Помещено Bratok 19-02-2004 в 15:39:

Igor

quote:
polo,
у тебя нет никаких идей, почему так может получаться: в английских списках юзеров все нормально, а вот в русских немного намешаны участники. Например если смотрю участников на букву "И", то там есть и на "К" и на "Л" и т.д.


В root/memberlist.php

искать:

PHP:

$condition 
= "username NOT REGEXP(\"^[a-zA-Z]\")";


заменить:

PHP:

$condition 
= "username NOT REGEXP(\"^[a-zA-Zа-яА-Я]\")";

__________________
Tu ne cede malis, sed contra audehtior
Не покоряйся беде, но смело иди навстречу.


Помещено MarKer 19-02-2004 в 16:25:

Не хватает двух букв - "Ё" и "Я"...


Помещено Igor 20-02-2004 в 04:54:

Bratok
Спасибо, но не помогло. В русских списках до сих пор завал, а в английских порядок.

__________________
C уважением, Игорь
cblog.ru


Помещено Bratok 20-02-2004 в 09:00:

MarKer

найти:

PHP:


for ($i=192; $i < 223; $i++)



заменить:

PHP:

for ($i=192; $i < 224; $i++)



з.ы. По правилам русского языка Е и Ё считаются одной быквой

Bratok добавил 20-02-2004 в 09:05:39:
Igor
Попробуй вот такое. У меня в таком варианте, все отлично показывается

В root/memberlist.php
1/2
искать:

PHP:

$condition 
= "username NOT REGEXP(\"^[a-zA-Z]\")";


заменить:

PHP:

$condition 
= "username NOT REGEXP(\"^[a-zA-Zа-яА-Я]\")";



2/2
искать:

PHP:

for ($i=65; $i < 91; $i++)
        {
                
$currentletter = chr($i);
                
$linkletter = &$currentletter;
                
$show['selectedletter'] = iif($selectedletter == $currentletter, true, false);
                eval(
'$letterbits .= "' . fetch_template('memberlist_letter') . '";');
        }



добавить внизу:

PHP:

for ($i=192;$i<224;$i++)
        {
                
$currentletter = chr($i);
                
$linkletter = &$currentletter;
                
$show['selectedletter'] = iif($selectedletter == $currentletter, true, false);
                eval(
'$letterbits .= "' . fetch_template('memberlist_letter') . '";');
        }

__________________
Tu ne cede malis, sed contra audehtior
Не покоряйся беде, но смело иди навстречу.


Помещено MarKer 20-02-2004 в 12:42:

Bratok
Спасиб!


Помещено Tagore 20-02-2004 в 15:43:

Bratok
Е и Ё считаются одной быквой
Ты че, с ума сошел, это с каких пор?
Где спрятана Ё, че за код за ней стоит, подскажите ...

__________________
Международное брачное агенство в Сибири.


Помещено MCTarakan 20-02-2004 в 22:22:

Tagore ты в школе учился? если нет возможности писать Ё, то запросто можно писать Е и это не считается ошибкой (например, "Ее Величество")... во всяком случае меня так учили в школе.... кстати, тоже самое относится к И и Й???

__________________
yMC.ru - хомяк музыканта


Помещено MarKer 20-02-2004 в 23:28:

MCTarakan
Нет вот "й" как раз нельзя писать как "и"...


Помещено MCTarakan 20-02-2004 в 23:44:

а если у меня на клавиатуре нету и-краткой? хотя подумал... все-таки ты прав.... "и-кратокои" чой-то не то... вообщем ладно, проехали про грамотность...

__________________
yMC.ru - хомяк музыканта


Помещено polo 20-02-2004 в 23:47:

При чем тут то что чему вас учили в школе? Если сделать выборку where name like 'е%' то буду выданы результаты и ерик и ёжик.

polo добавил 20-02-2004 в 23:48:40:
для й не пробовал но наверное тоже-самое, тут еще зависит от кодировки базы.

__________________
Всегда есть решение.


Помещено MCTarakan 21-02-2004 в 01:39:

вот и мы про то!

Bratok, не помогает! Ð_то от настроек МуСКЛ вроде зависит... для ВБ2 тож самое было!

http://www.muzzclub.ru/forum/member...r=asc&styleid=2

__________________
yMC.ru - хомяк музыканта


Помещено polo 21-02-2004 в 11:52:

Ð_то 100% от настройки базы зависит, у меня стоит кодировка win1251 в мускуле и все работает, смотрите сообщение выше.

__________________
Всегда есть решение.


Помещено MCTarakan 21-02-2004 в 22:31:

polo дык, не будет из-за одного меня админ перекодировать базу (он так сказал), а можно для разных акков базу делать с разными языками?

__________________
yMC.ru - хомяк музыканта


Помещено polo 22-02-2004 в 02:02:

ну так админ у тебя левый, мускуль позволяет иметь настройки для каждого юзера типа .htaccess в apache. Попробуй создать в своей корневой директории файл my.ini, по умолчанию это включено.

polo добавил 22-02-2004 в 02:05:25:
да, и если на сервере хостится большинство русских сайтов, то лучше чтобы база имела русскую кодировку.

__________________
Всегда есть решение.


Помещено Igor 22-02-2004 в 02:32:

polo
А что прописать в файле? Я так понимаю вот эту строку?

PHP:


default-character-set=cp1251

__________________
C уважением, Игорь
cblog.ru


Помещено MCTarakan 22-02-2004 в 03:23:

polo да, поясни мне юродивому плиз, что в файло надо написать? А насчет админа - то вроде worldhosting.ru не должен быть левым.. но на сервере хостится много и нерусских сайтов, потому он мне так и ответил... вообщем непонятно мен все... поясни плиз подробнее, что надо сделать, чтоб

quote:
мускуль позволяет иметь настройки для каждого юзера типа .htaccess в apache

чтоб я мог ему это дело сказать, чтоб он не отмазывался тем, чем я не понимаю...
СПАСИБО!

__________________
yMC.ru - хомяк музыканта


Помещено polo 22-02-2004 в 11:56:


code:

[mysqld]
default-character-set=cp1251 # или win1251



polo добавил 22-02-2004 в 12:03:07:
потом при смене кодировки нужно применить комманду:
myisamchk -r -q --set-character-set=cp1251 чтобы создать правельные индексы, но помоему repaire table тоже помагает.

__________________
Всегда есть решение.


Помещено MCTarakan 23-02-2004 в 02:54:

все... проблема решена путем переговоров с админом...

__________________
yMC.ru - хомяк музыканта


Помещено rad 17-05-2004 в 12:11:

Я у себя в шаблоне memberlist никак этого не найду

[QUOTE]Первоначальное сообщение от polo
[B]1. Ð_едактируем шаблон memberlist, добавляем выше:
<if condition="$vboptions['usepopups'] AND !$show['usergroup']">

code:

<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<tr align="center">
	$russianletterbits
</tr>
</table>



Можнт быть что то не так?
помоги пожалуйста.
Спасибо


Помещено Xrobak 06-02-2005 в 20:17:

Все сделал как описано выше, и вот появились ошибки:
1) на какую бы русскую букву в списке мемберов я не нажал, получаю ошибку сервера, вот что говорит Апач:

code:

[Sun Feb 06 21:12:38 2005] [error] [client 100.100.100.101] (22)Invalid argument: couldn't create child process: 22: php.exe, referer: http://your_domain_name/forum/memberlist.php?ltr=E&pp=20&sort=lastvisit&order=desc
[Sun Feb 06 21:12:38 2005] [error] [client 100.100.100.101] (22)Invalid argument: couldn't spawn child process: X:/www/php/php.exe, referer: http://your_domain_name/forum/memberlist.php?ltr=E&pp=20&sort=lastvisit&order=desc


Т.е. мы видим что в УÐ_Л русские буквы не переводятся в другой формат, а так просто и отображаются. Думаю в этом причина, нок ак поправить...

2) какая-то белиберда творится с пользователями, имеющие руские никнеймы. Например юзер с ником на букву К у меня находится в категории английской буквы Е, пользователь с русской Т находится в категории с английской буквой О

Как лечить это?

PS: php 4.3.10, mysql 4.0.5, vb 3.0.5, apache 2.x


Помещено Xrobak 20-02-2005 в 19:44:

может быть найдутся доброжелатели, у к-рых есть лицензионные вб и к-рые могут писать на оф. форуме воблы - задайте там им этот вопрос, хотелось бы услышать, что они посоветуют по сабжу...


Формат времени GMT. Текущее время 18:19.
Показаны 27 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.