Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

10.09.2009, 22:30
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
Поменять все квадраты и знаки вопроса на "ш" и "и" выцепив hex-код квадратов и знаков вопросов
|
|
|

10.09.2009, 23:18
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
Pashkela, а как их выцепить?
|
|
|

11.09.2009, 00:26
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
писал вроде уже именно тебе -
1. Переводим весь текст hex:
$text = bin2hex($text);
2. Потом примерно в таком цикле:
PHP код:
$count = strlen($text);
for ($i=0;$i<$count;$i++)
if ($text{$i} тут условие) {
.........
// Только тут не забываем, что hex любого символа состоит из двух значений, для условий в цикле
}
}
диапазон "нормальных букв" вернее их hex-кодов известен? Известен. Значит пишем функцию, посимвольно перебирающую текст, выбирающую hex-значения не из диапозона кроме сиволов "пробел" и "перенос строки" и прочего дерьма (спец символов). Получим твои "ш" и "и" в непонятной кодировке или просто засранные при дампе, потом обычный str_replace непонятных символов на понятные hex коды "ш" и "и", потом преобразование полученных данных в хексе обратно в читабельный вид вот такой функцией:
PHP код:
function hex2bin($hh) {
if (!is_string($hh)) return null;
$rr='';
for ($aa=0; $aa<strlen($hh); $aa+=2) { $rr.=chr(hexdec($hh{$aa}.$hh{($aa+1)})); }
return $rr;
}
ЗЫЖ Или еще проще - просто выкупаешь hex-коды этих квадратов и знаков вопросов, весь текст в hex (как описано выше), потом сразу str_replace, потом обратно в текст (функция выше)
Последний раз редактировалось Pashkela; 11.09.2009 в 00:35..
|
|
|

11.09.2009, 07:02
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
Проблема решена!
Код:
/*
* Исправление кодировки букв "ш" и "И" в MYSQL
* автор: Nc_Soft
* 18.07.09
*/
/*
Частенько встречается при переносе бд, либо при шаманстве с кодировками
буквы "ш" и "И" оказываются битыми (речь идет о utf-8 конечно)
буква "ш" = chr(209).chr(63) / правильно chr(209).chr(136)
буква "И" = chr(208).chr(63) / правильно chr(208).chr(152)
Чтобы пофиксить делаем 2 запроса
*/
UPDATE `tbl` SET `pole` = REPLACE(
`pole`,
CONCAT( CHAR(209), CHAR(63) ),
CONCAT( CHAR(209), CHAR(136) )
);
UPDATE `tbl` SET `pole` = REPLACE(
`pole`,
CONCAT( CHAR(208), CHAR(63) ),
CONCAT( CHAR(208), CHAR(152) )
);

Последний раз редактировалось mff; 11.09.2009 в 07:28..
|
|
|

13.09.2009, 17:53
|
|
Banned
Регистрация: 17.07.2007
Сообщений: 179
Провел на форуме: 816011
Репутация:
23
|
|
Как можно узнать кодировку базы данных?
Каким запросом?
|
|
|

13.09.2009, 17:59
|
|
Участник форума
Регистрация: 01.08.2009
Сообщений: 169
Провел на форуме: 1353033
Репутация:
113
|
|
Введи:
show variables;
И будет тебе счастье
|
|
|

18.09.2009, 21:57
|
|
Познающий
Регистрация: 20.02.2008
Сообщений: 82
Провел на форуме: 107625
Репутация:
2
|
|
Народ, дано в MySQL поле типа text. Как добавлять в него данные так, что бы они не заменяли содержимое поле, а дополняли его, т.е. приписывались бы к содержимому вконце?
|
|
|

24.09.2009, 14:21
|
|
Постоянный
Регистрация: 06.04.2009
Сообщений: 383
Провел на форуме: 1288105
Репутация:
328
|
|
как в условие селект игнорировать регистр букв
|
|
|

24.09.2009, 14:25
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
select LOWER(...)
|
|
|

24.09.2009, 14:30
|
|
Постоянный
Регистрация: 06.04.2009
Сообщений: 383
Провел на форуме: 1288105
Репутация:
328
|
|
select * from .. where LOWER(имя поля???) =$var так ???
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|