#11 2009.06.16 10:07

Chizh
Участник
Зарегистрирован: 2009.06.16
Сообщений: 26
Карма: 2
Профиль

Re: Вывод большого текста, теория

как раз таки это не зависит от кодировки страниц. для библиотеки нужно специально указать еще раз )

Неактивен

#12 2009.06.16 10:24

JInn
Участник
Откуда: Север нашей Родины
Зарегистрирован: 2008.11.18
Сообщений: 120
Карма: 2
Профиль Веб-сайт

Re: Вывод большого текста, теория

Я имею ввиду что в начале страницы я пишу mb_internal_encoding("UTF-8"); Поэтому  в самой функции я кодировку не пишу
Добавлено спустя   1 минуту  34 секунды:
Вот вся страница

Код:

1
span style="color: #0000BB"><?php###################################### Скрипт написал Jinn ## http://jinn.su ## ICQ - 240067366 ## Двигатель будет ## дорабатываться ## Обновления будут здесь ## http://jinn.su ## ######################################define ('JINNY',31);mb_internal_encoding("UTF-8");$where = 'Библиотека';require'../include/connect.php';require '../reklama.php';require '../css/verh.php';require 'func.php';$array=mysql_query("SELECT SUBSTRING(`news` FROM 7 FOR 251) AS `news`,`tema` FROM `news` WHERE `n_id`=7 ");$news=mysql_fetch_assoc($array);echo '<div class="rek">Библиотека</div>';//Удаление статьиif ($_SESSION['a']==9 && $_GET['del']=='del'){$array=mysql_query("SELECT * FROM `lib_t` WHERE `id`='".clean($_GET['id'])."' LIMIT 1 ") or die (ERR);$del=mysql_fetch_assoc($array);mysql_query("DELETE FROM `lib_t` WHERE `id`='".clean($_GET['id'])."' ") or die (ERR);mysql_query("UPDATE `lib_k` SET `kol`=`kol`-1 WHERE `id`='".$del['id2']."' ") or die (ERR);mysql_query("UPDATE `users` SET `J`=`J`-5,`k_t`=`k_t`-1 WHERE `login`='".$del['user']."' ") or die (ERR);echo '<div class="box2">Статья удалена</div>';niz();require '../css/niz.php';exit;}if ($_GET['achtung']){mysql_query("UPDATE `lib_t` SET `achtung`=`achtung`+1 WHERE `id`='".clean($_GET['id'])."' AND `adult`=1 ") or die (ERR);echo '<div class="box2">Благодарим за содействие )</div>';}else {if ($_SESSION['lock'] != $_GET['id']){mysql_query("UPDATE `lib_t` SET `order`=`order`+1 WHERE `id`='".clean($_GET['id'])."' AND `adult`=1 ") or die (ERR);$_SESSION['lock'] = clean($_GET['id']);}}//Страницы!$k_post=mysql_fetch_assoc(mysql_query("SELECT CHAR_LENGTH(`text`) AS `text` FROM `lib_t` WHERE `id`='".clean($_GET['id'])."' LIMIT 1"));if ($_GET['str'] > 0){$strok=2048 * abs($_GET['str']);} else {$strok=2048;}$k_page=k_page($k_post['text'],$strok);$page=page($k_page);$start=($strok*$page-$strok);if ($start!=0){$start=$start-20;}else{$start=$start+1;}$cat=mysql_fetch_assoc(mysql_query("SELECT `id`,`id2`, SUBSTRING(`text` FROM ".($start)." FOR ".$strok."+10) AS `text`,`nazv`,`order`,`user`,`upload`,`achtung` FROM `lib_t` WHERE `id`='".clean($_GET['id'])."' AND `adult`=1 LIMIT 1 ")) or die (ERR);echo '<div class="box">'.$cat['nazv'].'<br />Написал <a href="../user.php?user='.$cat['user'].'">'.cvet($cat['user']).'</a><br />Статья написана '.$cat['upload'].'<br />Прочитано '.raz($cat['order']).'<br />Жалоб '.$cat['achtung'].'<br />';if ($_SESSION['use'] ==1){echo '<a href="?id='.$_GET['id'].'&achtung=1"><span id="nic">Пожаловаться</span></a><br />';}if($_GET['page']>1){$st=2;}else{$st=0;}echo 'Текст: '.mb_substr(clean2($cat['text']),$st,$strok).'<br /></div>';if ($_SESSION['a'] ==9){echo '<div class="box"><a href="?del=del&id='.$cat['id'].'"><span id="nic">Удалить статью (необратимо!!!)</span></a></div>';}if ($k_page>1)str('text.php?id='.$_GET['id'].'&str='.$_GET['str'].'&',$k_page,$page);echo '<div class="box">Строк <a href="text.php?id='.$_GET['id'].'&str=1&page='.$_GET['page'].'">[25]</a> <a href="text.php?id='.$_GET['id'].'&str=2&page='.$_GET['page'].'">[50]</a> <a href="text.php?id='.$_GET['id'].'&str=4&page='.$_GET['page'].'">[100]</a></div>';niz();require '../css/niz.php';?>

Как все таки сложно быть ботом...

Неактивен

#13 2009.06.16 10:36

JInn
Участник
Откуда: Север нашей Родины
Зарегистрирован: 2008.11.18
Сообщений: 120
Карма: 2
Профиль Веб-сайт

Re: Вывод большого текста, теория

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


Как все таки сложно быть ботом...

Неактивен

#14 2009.06.16 13:04

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Вывод большого текста, теория

база данных в UTF-8 ?? SEN NAMES utf8 прописал?

Неактивен

#15 2009.06.16 13:08

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Вывод большого текста, теория

да, посмотри кодировку таблицы-это мне своего времени тоже массу проблем доставляло...


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#16 2009.06.16 15:02

JInn
Участник
Откуда: Север нашей Родины
Зарегистрирован: 2008.11.18
Сообщений: 120
Карма: 2
Профиль Веб-сайт

Re: Вывод большого текста, теория

не. не писал. Работало же )))
А как правильно написать? Это надо при установке делать?
Я вот поковырял дкмс, нашел там такое
mysql_query('set charset utf8');
mysql_query('SET names utf8');
mysql_query('set character_set_client="utf8"');
mysql_query('set character_set_connection="utf8"');
mysql_query('set character_set_result="utf8"');

Это все запрашивать надо или что то необязательное?


Как все таки сложно быть ботом...

Неактивен

#17 2009.06.16 15:07

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Вывод большого текста, теория

так делают только те, кто не в курсе что делает SET NAMES, достаточно mysql_query('SET names `utf8`');

Неактивен

#18 2009.06.16 15:33

JInn
Участник
Откуда: Север нашей Родины
Зарегистрирован: 2008.11.18
Сообщений: 120
Карма: 2
Профиль Веб-сайт

Re: Вывод большого текста, теория

Понятно. А вот еще вопрос. Создаю базу и делаю такие запросы

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
mysql_query('SET names utf8');
mysql_query("
CREATE TABLE `set` (
`id` int(11) NOT NULL auto_increment,
`nsite` varchar(100) default NULL,
`asite` varchar(50) default NULL,
`admin` varchar(20) default NULL,
`err` varchar(100) default NULL,
`sizef` smallint(6) default '0',
`sizen` smallint(6) default '0',
`sizeop` smallint(6) default '0',
`hb` smallint(6) default '0',
`wb` smallint(6) default '0',
`jb` smallint(6) default '0',
`hs` smallint(6) default '0',
`ws` smallint(6) default '0',
`js` smallint(6) default '0',
`paswordic` varchar(50) default NULL,
`asd` bigint(20) default NULL,
`descript` text,
`keywords` text,
`links` varchar(100) default '0',
`nlinks` varchar(100) default NULL,
`order` smallint(3) default NULL,
`style` varchar(100) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ");
 
mysql_query("
INSERT INTO `set` VALUES
(1, 'Jinn.CMS', 'dvig.cms', 'Admin', 'База накрылась', 350, 50, 250, 0, 0, 100, 65, 50, 100, '827ccb0eea8a706c4c34a16891f84e7b', 394329864, 'Развлечения', 'Развлечения игры загрузки', NULL, NULL, NULL, 'blue'),
(2, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL, 'forum', 'Форум', 20, NULL),
(3, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL, 'news', 'Новости', 10, NULL),
(10, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL, 'chat', 'Чат', 30, NULL),
(5, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL, 'album', 'Фотоальбом', 40, NULL),
(6, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL, 'pricol.php', 'Приколы', 70, NULL),
(7, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL, 'ICQ', 'ICQ', 90, NULL),
(8, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL, 'games', 'Игры', 50, NULL),
(9, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL, 'shop.php', 'Магазин', 80, NULL),
(13, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL, 'guest.php', 'Гостевая', 100, NULL),
(14, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL, 'obmen', 'Файлообменник', 60, NULL) ");

И меню у меня потом показывает в неправильной кодировке. Приходится из скрипта уже переделывать.
Это как то можно исправить? Сам файл инсталл в utf8 без БОМ


Как все таки сложно быть ботом...

Неактивен

#19 2009.06.16 15:43

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Вывод большого текста, теория

mysql_query('SET NAMES `utf8`');  нужно писать сразу же после соединения с сервером MySQL. и когда создаешь БД, выбери сравнение utf8_general_ci

Неактивен

#20 2009.06.16 17:09

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Вывод большого текста, теория

А ещё когда таблицу создаешь можно указать
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
к примеру


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.014 s