|
|
|
|
|
для: Trianon
(07.07.2006 в 10:02)
| | чувак, ты - гений :)
все арбайтен и в базе все по-русски и выборка по-русски работает :)
спасибо!
p.s. а насчет грязного хака скрипт то фришный так что это не грязный хак а доработка-русификация :)
идем дальше, вопросв будет еще много :) | |
|
|
|
|
|
|
|
для: ARIRAN
(07.07.2006 в 09:59)
| | Прошу прощения. Пару строк забыл. :)
function uc2html($str) { // with windows-1251 character replacement
$ret = '';
for( $i=0; $i<strlen($str)/2; $i++ ) {
$charcode = ord($str[$i*2])+256*ord($str[$i*2+1]);
$charcode = (($charcode >= 0x410 && $charcode <= 0x44F) ? chr($charcode+0xC0-0x410)
: ($charcode == 0x401 ? chr(0xA8)
: ($charcode == 0x451 ? chr(0xB8)
: (($charcode <= 0x7E ) ? chr($charcode)
: ('&#'.$charcode)))));
$ret .= $charcode ;
}
return $ret;
}
|
| |
|
|
|
|
|
|
|
для: Trianon
(06.07.2006 в 20:30)
| | заменил оригинальный блок на ваш. запустил. выдает ошибку
Parse error: parse error in includes.inc on line 244
после замены строка 244 у меня выглядит как ?> ???
открывал в DZ Soft Perl 5.4 | |
|
|
|
|
|
|
|
для: ARIRAN
(06.07.2006 в 19:32)
| | там, в файле includes.inc есть функция uc2html на 46-53 строках.
она преобразует unicode-строки в html-представления. Если её переписать вот так:
function uc2html($str) { // with windows-1251 character replacement
$ret = '';
for( $i=0; $i<strlen($str)/2; $i++ ) {
$charcode = ord($str[$i*2])+256*ord($str[$i*2+1]);
$charcode = (($charcode >= 0x410 && $charcode <= 0x44F) ? chr($charcode+0xC0-0x410)
: ($charcode == 0x401 ? chr(0xA8)
: ($charcode == 0x451 ? chr(0xB8)
: (($charcode <= 0x7E ) ? chr($charcode)
: ('&#'.$charcode)))));
$ret .= $charcode ;
}
|
то символы русского алфавита она начнет возвращать в кодировке windows-1251.
Это, конечно, грязный хак, но, как я понимаю, именно он Вам и нужен. | |
|
|
|
|
 31.4 Кб |
|
|
для: Trianon
(06.07.2006 в 18:37)
| | вот. весь установочный архив.
я там во всех файлах воткнул
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
|
но не помогло. а скрипт хороший. удобный. | |
|
|
|
|
|
|
|
для: ARIRAN
(06.07.2006 в 18:26)
| | Выложите. А лучше прикрепите аттачем. | |
|
|
|
|
|
|
|
для: Trianon
(06.07.2006 в 18:12)
| | в том то и фишка что меня не устраивает ни база в кракозябрах ни преобразование в форме запроса. оптимальным решением я думаю является подготовка данных перед импортом в адекватную форму, но я не знаю как. может я сюда выложу код этого скрипта (которым я закачиваю екселевские файлы) посмотрите что там можно сделать? в самой базе в phpmyAdmin кодировка выставлена Russian ru win-1251 MySQL 4.0.16-log phpMyAdmin 2.6.0-pl3.
хеееелп :) | |
|
|
|
|
|
|
|
для: ARIRAN
(06.07.2006 в 18:07)
| | да нет... просто преобразовать вводимые в форме строки к этому виду, перед тем как собственно искать.
Всё это, конечно, лишь в том случае, если Вас устраивает держать базу в кракозябрах, и не устраивает (или невыполнимо) готовить данные перед импортом более адекватным образом. | |
|
|
|
|
|
|
|
для: Trianon
(06.07.2006 в 17:57)
| | я могу конечно :) но это только первая часть моей эпопеи дальше мне надо будет организовать поиск через форму там в value везде кракозябры вбивать? :) | |
|
|
|
|
|
|
|
для: ARIRAN
(06.07.2006 в 17:28)
| | Так кто мешает искать строку непосредственно в кракозябах?
л - UNICODE символ с кодом 1083 = 0x43B = 'л' | |
|
|
|
|