Armenian Knowledge Base  

Go Back   Armenian Knowledge Base > Technical sections > Webmaster Zone > Web Development
Register

Reply
 
LinkBack Thread Tools
Old 29.11.2005, 08:40   #1
Web developer
 
Aram Ghazanchyan's Avatar
 
Join Date: 09 2002
Location: Yerevan
Age: 36
Posts: 896
Downloads: 1
Uploads: 0
Reputation: 9 | 0
Default UTF8 - PHP String functions

Имeется русский текст хранящийся в базе в UTF8
Хочу получить первые 100 символов строки

substr($rs["FieldName"], 0, 100)

Естественно возвращается неправильный результат. Как получить четко 100 символов, я попробовал

utf_encode(utf_decode(substr($rs["FieldName"], 0, 100)))

но это также не дало результата. Что делать?
Кстати текст может быть и английский, армянский, вообще любой, т.е. нужно нечто универсальное
Reply With Quote
Old 29.11.2005, 08:42   #2
Магистр
 
Join Date: 02 2002
Location: Am
Posts: 952
Downloads: 0
Uploads: 0
Reputation: 26 | 4
Default Re: UTF8 - PHP String functions

a sna4alo pro4est' ves' texst potom substring sdelat' nevozmojno..?
Reply With Quote
Old 29.11.2005, 08:47   #3
Web developer
 
Aram Ghazanchyan's Avatar
 
Join Date: 09 2002
Location: Yerevan
Age: 36
Posts: 896
Downloads: 1
Uploads: 0
Reputation: 9 | 0
Default Re: UTF8 - PHP String functions

oops opechatka
utf_encode(substr(utf_decode($rs[Description]), 0, 100))
vot tak proboval
Reply With Quote
Old 29.11.2005, 08:58   #4
Fighter
 
coma's Avatar
 
Join Date: 09 2002
Location: Armenia
Age: 33
Posts: 270
Downloads: 0
Uploads: 0
Reputation: 0 | 0
Default Re: UTF8 - PHP String functions

http://www.php.net/manual/en/function.mb-substr.php
Reply With Quote
Old 29.11.2005, 09:04   #5
Web developer
 
Aram Ghazanchyan's Avatar
 
Join Date: 09 2002
Location: Yerevan
Age: 36
Posts: 896
Downloads: 1
Uploads: 0
Reputation: 9 | 0
Default Re: UTF8 - PHP String functions

Получилось через базу:
в SELECT -е
SUBSTR(FieldName, 1, 100) as FieldName

вот результат
http://www.re-estate.com/?lang=en&go=result&dealtype=1

Но к сожалению с армянским пошел сбой, хотя уже все через базу
http://www.re-estate.com/?go=userpos...realestate=394
Reply With Quote
Old 01.12.2005, 09:13   #6
Web developer
 
Aram Ghazanchyan's Avatar
 
Join Date: 09 2002
Location: Yerevan
Age: 36
Posts: 896
Downloads: 1
Uploads: 0
Reputation: 9 | 0
Default Re: UTF8 - PHP String functions

В продолжение, появилась такая проблема:
Читаю из файла информацию следующим образом:

$filename = "text.html";
$source = fopen($filename, "r");
$content = fread ($source, filesize ($filename));
fclose ($source);
echo($content);

Функция универсально работает для страниц вывода и русских и английских файлов.
Если у меня в английском файле есть следующая запись:
----
aren’t или “About
----
(Обратите внимание на ковычки), то вместо ковычек выдается ?
Для этого я делаэ следующее

$InString = str_replace("“", "\"", $InString);
$InString = str_replace("”", "\"", $InString);
$InString = str_replace("’", "'", $InString);

В принципе все нормально с английским текстом, но возникает проблемы с русским -
"Вопросы" превращаются в "Чопросы", "Другой" - в "Тругой"

Что делать?
----
Reply With Quote
Old 01.12.2005, 11:06   #7
полюбому йес эм...
 
Mesrop's Avatar
 
Join Date: 02 2005
Location: near the computer
Age: 26
Posts: 3,243
Downloads: 3
Uploads: 0
Reputation: 129 | 3
Default Ответ: UTF8 - PHP String functions

попробуй так...
Quote:
echo ($content);
dra tex@ gri

echo stripslashes ($content);

senc petqa ’ -i het problem chunena...
Reply With Quote
Old 01.12.2005, 11:17   #8
Web developer
 
Aram Ghazanchyan's Avatar
 
Join Date: 09 2002
Location: Yerevan
Age: 36
Posts: 896
Downloads: 1
Uploads: 0
Reputation: 9 | 0
Default Re: Ответ: UTF8 - PHP String functions

te @tenc liner
inch kap uni sripslashes()-@? es meka chorov senc anum em $InString = str_replace("“", "\"", $InString); che?
Nai et tegh kavychkeq@ urisha.
Ham el asem vor es tipi harc charajana, stex kodirovkeqi xndira. File-@ vor@ pase em anum Western encoding-a, ete UTF8 poxem, lriv normal parse-a anum, harc@ nranumna vor 1 hat folder et tipi documentnera, es dzerov chem karana etqani encoding@ poxem.
Reply With Quote
Old 01.12.2005, 14:32   #9
полюбому йес эм...
 
Mesrop's Avatar
 
Join Date: 02 2005
Location: near the computer
Age: 26
Posts: 3,243
Downloads: 3
Uploads: 0
Reputation: 129 | 3
Default Ответ: UTF8 - PHP String functions

aysinqn petqa vor Western encoding (iso-8859-1) -ic convert ani UTF8 ??
Reply With Quote
Old 01.12.2005, 14:44   #10
Web developer
 
Aram Ghazanchyan's Avatar
 
Join Date: 09 2002
Location: Yerevan
Age: 36
Posts: 896
Downloads: 1
Uploads: 0
Reputation: 9 | 0
Default Re: Ответ: UTF8 - PHP String functions

iconv() -i masin el gitem, harc@ nranumna vor im mot 1 hat function-a, vor@ file-ic texta kardum, filer kan voronq iso-8859-1, kan voronq windows-1251, isk kan voronq henc utf-8, harc@ nranumna te es vonc imanam et file-@ inch encoding-ia, voric vor kardum em...
Reply With Quote
Old 01.12.2005, 14:55   #11
полюбому йес эм...
 
Mesrop's Avatar
 
Join Date: 02 2005
Location: near the computer
Age: 26
Posts: 3,243
Downloads: 3
Uploads: 0
Reputation: 129 | 3
Default Ответ: UTF8 - PHP String functions

imap_utf8
utf8_decode
utf8_encode
Reply With Quote
Old 01.12.2005, 15:28   #12
Web developer
 
Aram Ghazanchyan's Avatar
 
Join Date: 09 2002
Location: Yerevan
Age: 36
Posts: 896
Downloads: 1
Uploads: 0
Reputation: 9 | 0
Default Re: Ответ: UTF8 - PHP String functions

prichem tut eto?
Reply With Quote
Old 18.02.2006, 11:26   #13
nightmare
 
spawn's Avatar
 
Join Date: 05 2003
Location: Russia, Moscow
Age: 39
Posts: 279
Downloads: 0
Uploads: 0
Reputation: 20 | 3
Default Ответ: UTF8 - PHP String functions

Quote:
Originally Posted by Aram Ghazanchyan
Имeется русский текст хранящийся в базе в UTF8
Хочу получить первые 100 символов строки

substr($rs["FieldName"], 0, 100)

Естественно возвращается неправильный результат. Как получить четко 100 символов, я попробовал

utf_encode(utf_decode(substr($rs["FieldName"], 0, 100)))

но это также не дало результата. Что делать?
Кстати текст может быть и английский, армянский, вообще любой, т.е. нужно нечто универсальное
PHP Code:
string mb_substr string strint start [, int length [, string encoding]]) 
есть такая функция, правда не везде библиотека включена - называется mbstring, короче работа с мультибайтовыми строками ...
Reply With Quote
Sponsored Links
Reply

Thread Tools


На правах рекламы:
реклама

All times are GMT. The time now is 19:56.


Powered by vBulletin® Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.