Моё меню Общее меню Пользователи Правила форума Все прочитано
Вернуться   uForum.uz > ИКТ и телеком > IT-индустрия > Софт > Программирование > Веб программирование
Знаете ли Вы, что ...
...для каждой темы существует свой раздел. Изучите структуру форума. Если соответствующего раздела нет, то всегда есть раздел "Разное" :)
<< Предыдущий совет - Случайный совет - Следующий совет >>

Веб программирование Вопросы WEB программирования (Java Script и т.д.)


Ответить

 
Опции темы Опции просмотра
Старый 29.04.2008 17:56   #1  
Аватар для elf
Оффлайн
Сообщений: 74
+ 5  2/2
– 0  0/0

UzbekistanОтправить сообщение для elf с помощью Skype™
LIKE в SQL

Hammaga salom!
php da
$q="select * from `boys` where `name` LIKE '$letter%' order by name";
zaprosi agar $letter rus harfi bo'lsa, notog'ri ishlayapti. To'g'ri ishlash uchun nima qilish kerak?
Raxmat!
Ответить 
Старый 29.04.2008 17:59   #2  
Known ID Group uParty Member
Аватар для Dolphin
Оффлайн
Imperium of Man
Inquisitor
Сообщений: 5,990
+ 5,680  4,442/2,033
– 128  137/102

Russian FederationОтправить сообщение для Dolphin с помощью ICQОтправить сообщение для Dolphin с помощью Skype™Facebook
Если у базы или соединения стоит нерусский (некириллический) collation - будут глюки. Попробуйте юзать utf8_general_ci.
Ответить 
Старый 29.04.2008 18:13   #3  
Known ID Group
Аватар для netklon
Оффлайн
eSector Solutions
Интерфейс-самурай, Девелопмент-генерал
Сообщений: 2,774
+ 788  1,915/912
– 24  61/32

UzbekistanLiveJournalМой Круг
Mustread: Проблемы с русскими буквами в Mysql 4.1
Ответить 
Старый 29.04.2008 23:30   #4  
Open ID Group
Аватар для Rustam Khamidov
Оффлайн
ИП Уздунробита
специалист
Сообщений: 610
+ 454  435/216
– 1  1/1

Uzbekistan
Цитата:
Сообщение от elf Посмотреть сообщение
php da
$q="select * from `boys` where `name` LIKE '$letter%' order by name";
zaprosi agar $letter rus harfi bo'lsa, notog'ri ishlayapti. To'g'ri ishlash uchun nima qilish kerak?
Raxmat!
при этом если делается выборка без Like русские отображаются корректно?
какая версия MySQL, какая кодировка по умолчанию в MySQL и какая кодировка на странице ввода запросов?
Ответить 
Старый 30.04.2008 08:52   #5  
Аватар для elf
Оффлайн
Сообщений: 74
+ 5  2/2
– 0  0/0

UzbekistanОтправить сообщение для elf с помощью Skype™
MySQL - 4.0.21;
charset по умолчанию не знаю какой;
кодировка на странице ввода запросов - windows-1251;

И пробовал запрос "SET NAMES cp1251", все равно не помогло.
Если $letter - английская буква, тогда в результате появляется и русские слова.
Кароче, запрос дадут ожидаемый список и плюс этого не нужные результаты.
Ответить 
Старый 30.04.2008 10:14   #6  
Open ID Group
Аватар для Rustam Khamidov
Оффлайн
ИП Уздунробита
специалист
Сообщений: 610
+ 454  435/216
– 1  1/1

Uzbekistan
не достаточно исходной информации. Пожалуйста дайте из php скрипта запрос в mysql
$q="SHOW VARIABLES";
и покажите результат.

Тогда смогу сказать в чем причина.
Ответить 
Старый 30.04.2008 11:37   #7  
Аватар для elf
Оффлайн
Сообщений: 74
+ 5  2/2
– 0  0/0

UzbekistanОтправить сообщение для elf с помощью Skype™
Variable_name Value
back_log 50
basedir c:\apachefriends\xampp\mysql\
bdb_cache_size 8388572
bdb_log_buffer_size 32768
bdb_home c:\apachefriends\xampp\mysql\data\
bdb_max_lock 10000
bdb_logdir
bdb_shared_data OFF
bdb_tmpdir c:\apachefriends\xampp\tmp\
bdb_version Sleepycat Software: Berkeley DB 3.2.9a: (September...
binlog_cache_size 32768
bulk_insert_buffer_size 8388608
character_set latin1
character_sets latin1 big5 czech euc_kr gb2312 gbk latin1_de sjis...
concurrent_insert ON
connect_timeout 5
convert_character_set
datadir c:\apachefriends\xampp\mysql\data\
default_week_format 0
delay_key_write ON
delayed_insert_limit 100
delayed_insert_timeout 300
delayed_queue_size 1000
flush OFF
flush_time 1800
ft_boolean_syntax + -><()~*:""&|
ft_min_word_len 4
ft_max_word_len 254
ft_max_word_len_for_sort 20
ft_stopword_file (built-in)
have_bdb YES
have_crypt NO
have_innodb DISABLED
have_isam YES
have_raid NO
have_symlink YES
have_openssl NO
have_query_cache YES
init_file
innodb_additional_mem_pool_size 1048576
innodb_buffer_pool_size 8388608
innodb_data_file_path
innodb_data_home_dir
innodb_file_io_threads 4
innodb_force_recovery 0
innodb_thread_concurrency 8
innodb_flush_log_at_trx_commit 1
innodb_fast_shutdown ON
innodb_flush_method
innodb_lock_wait_timeout 50
innodb_log_arch_dir
innodb_log_archive OFF
innodb_log_buffer_size 1048576
innodb_log_file_size 5242880
innodb_log_files_in_group 2
innodb_log_group_home_dir
innodb_mirrored_log_groups 1
innodb_max_dirty_pages_pct 90
interactive_timeout 28800
join_buffer_size 131072
key_buffer_size 16777216
language c:\apachefriends\xampp\mysql\share\english\
large_files_support ON
license GPL
local_infile ON
log OFF
log_update OFF
log_bin ON
log_slave_updates OFF
log_slow_queries OFF
log_warnings 1
long_query_time 10
low_priority_updates OFF
lower_case_file_system OFF
lower_case_table_names 1
max_allowed_packet 1047552
max_binlog_cache_size 4294967295
max_binlog_size 1073741824
max_connections 100
max_connect_errors 10
max_delayed_threads 20
max_insert_delayed_threads 20
max_heap_table_size 16777216
max_join_size 4294967295
max_relay_log_size 0
max_seeks_for_key 4294967295
max_sort_length 1024
max_user_connections 0
max_tmp_tables 32
max_write_lock_count 4294967295
myisam_max_extra_sort_file_size 268435456
myisam_max_sort_file_size 2147483647
myisam_repair_threads 1
myisam_recover_options OFF
myisam_sort_buffer_size 8388608
net_buffer_length 8192
net_read_timeout 30
net_retry_count 10
net_write_timeout 60
new OFF
Variable_name Value
open_files_limit 0
pid_file c:\apachefriends\xampp\mysql\data\files.pid
log_error .\files.err
port 3306
protocol_version 10
query_alloc_block_size 8192
query_cache_limit 1048576
query_cache_size 0
query_cache_type ON
query_prealloc_size 8192
range_alloc_block_size 2048
read_buffer_size 131072
read_only OFF
read_rnd_buffer_size 262144
rpl_recovery_rank 0
server_id 1
slave_net_timeout 3600
skip_external_locking ON
skip_networking OFF
skip_show_database OFF
slow_launch_time 2
sort_buffer_size 524252
sql_mode 0
table_cache 64
table_type MYISAM
thread_cache_size 0
thread_stack 196608
tx_isolation REPEATABLE-READ
timezone Северная Центр. Азия (зима)
tmp_table_size 33554432
tmpdir c:\apachefriends\xampp\tmp\
transaction_alloc_block_size 8192
transaction_prealloc_size 4096
version 4.0.21-debug-log
version_comment Source distribution
version_compile_os Win95/Win98
wait_timeout 28800
Ответить 
Реклама и уведомления
Старый 30.04.2008 12:12   #8  
Open ID Group
Аватар для Rustam Khamidov
Оффлайн
ИП Уздунробита
специалист
Сообщений: 610
+ 454  435/216
– 1  1/1

Uzbekistan
Чарсет по умолчанию у Вас
character_set latin1

Два способа решения.
1. Необходимо после каждого коннекта к базе данных (mysql_connect) сразу 1 раз выполнять $q="SET NAMES CP1251", после вы можете делать выборки и вставки сколько угодно раз.

проверьте свою присланную строку на наличие кодировки cp1251
character_sets latin1 big5 czech euc_kr gb2312 gbk latin1_de sjis...

В этом решении те данные которые уже есть в базе нужно ввести по новому, потому как их вносили без указания SET NAMES. Нверняка, именно поэтому у Вас не срабатывало эта команда ранее.


2. Вариант. Насколько видно у вас на винде mysql сервер
если это ваш персональный сервер (а не хостинг провайдера), то в файле конфигурации сервера my.cnf отредактируйте и клиентский и серверный раздел строки
default-character-set=cp1251
В этом случае в php скриптах ничего править не надо.
Ответить 
"+" от:
Старый 30.04.2008 13:13   #9  
Аватар для elf
Оффлайн
Сообщений: 74
+ 5  2/2
– 0  0/0

UzbekistanОтправить сообщение для elf с помощью Skype™
2 Rustam Khamidov
1st 10x very much.
Я отредактировал my.conf как Вы сказали. И все работало нормально. Но я сомневаюсь, что на хостере кодировка cp1251. Я хотел бы сделать это через пхп(проблема не будеть с хостерами). Но почему то не работает запрос $q="SET NAMES CP1251" .
Ответить 
Старый 30.04.2008 13:16   #10  
Known ID Group uParty Member
Аватар для Dolphin
Оффлайн
Imperium of Man
Inquisitor
Сообщений: 5,990
+ 5,680  4,442/2,033
– 128  137/102

Russian FederationОтправить сообщение для Dolphin с помощью ICQОтправить сообщение для Dolphin с помощью Skype™Facebook
А у базы все-таки какой collation? по умолчанию часто ставится western-чего-то там. который с русскими буквами работает некорректно
Ответить 
Ответить
Опции темы
Опции просмотра




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Advertisement System V2.5 By Branden
OOO «Единый интегратор UZINFOCOM»


Новые 24 часа Кто на форуме Новички Поиск Кабинет Все прочитано Вверх