Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: проблемы с SELECT * table WHERE

Сообщения:  [1-10]   [11-15] 

 
 автор: ARIRAN   (07.07.2006 в 10:13)   письмо автору
 
   для: Trianon   (07.07.2006 в 10:02)
 

чувак, ты - гений :)
все арбайтен и в базе все по-русски и выборка по-русски работает :)

спасибо!

p.s. а насчет грязного хака скрипт то фришный так что это не грязный хак а доработка-русификация :)

идем дальше, вопросв будет еще много :)

   
 
 автор: Trianon   (07.07.2006 в 10:02)   письмо автору
 
   для: 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;
}

   
 
 автор: ARIRAN   (07.07.2006 в 09:59)   письмо автору
 
   для: Trianon   (06.07.2006 в 20:30)
 

заменил оригинальный блок на ваш. запустил. выдает ошибку

Parse error: parse error in includes.inc on line 244
после замены строка 244 у меня выглядит как ?> ???
открывал в DZ Soft Perl 5.4

   
 
 автор: Trianon   (06.07.2006 в 20:30)   письмо автору
 
   для: 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.
Это, конечно, грязный хак, но, как я понимаю, именно он Вам и нужен.

   
 
 автор: ARIRAN   (06.07.2006 в 19:32)   письмо автору
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'");

но не помогло. а скрипт хороший. удобный.

   
 
 автор: Trianon   (06.07.2006 в 18:37)   письмо автору
 
   для: ARIRAN   (06.07.2006 в 18:26)
 

Выложите. А лучше прикрепите аттачем.

   
 
 автор: 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.

хеееелп :)

   
 
 автор: Trianon   (06.07.2006 в 18:12)   письмо автору
 
   для: ARIRAN   (06.07.2006 в 18:07)
 

да нет... просто преобразовать вводимые в форме строки к этому виду, перед тем как собственно искать.
Всё это, конечно, лишь в том случае, если Вас устраивает держать базу в кракозябрах, и не устраивает (или невыполнимо) готовить данные перед импортом более адекватным образом.

   
 
 автор: ARIRAN   (06.07.2006 в 18:07)   письмо автору
 
   для: Trianon   (06.07.2006 в 17:57)
 

я могу конечно :) но это только первая часть моей эпопеи дальше мне надо будет организовать поиск через форму там в value везде кракозябры вбивать? :)

   
 
 автор: Trianon   (06.07.2006 в 17:57)   письмо автору
 
   для: ARIRAN   (06.07.2006 в 17:28)
 

Так кто мешает искать строку непосредственно в кракозябах?
&#1083 - UNICODE символ с кодом 1083 = 0x43B = 'л'

   

Сообщения:  [1-10]   [11-15] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования