Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
11.10.2003, 03:30
|
|||
---|---|---|---|
|
|||
Оператор LIKE |
|||
#18+
Имеется таблица MyIsaam В ней есть несколько полей Char (255) Все поля заполнены русским и кое-где английским текстом. Почему-то преждложение Where [field_name] like 'Б%' (или любой другой символ) некорректно обрабатывается - выдается куча записей вовсе на Б не начинающихся. Когда ищу like 'j%' - да, все, что на j начинается выдает, но кроме него проскальзывают русскоязычные значения этого поля, то бишь он мусор пропускает. Где грабли? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.10.2003, 10:45
|
|||
---|---|---|---|
Оператор LIKE |
|||
#18+
А грабли в том, что у тебя база использует не русскую кодировку для сравнения. Твой дистрибутив может быть скомпилин без русской кодировки. В этом случае тебе нужно или перекомпилить его с русским charset. Код: plaintext 1. 2.
Или установить дистрибут с русской кодировкой. У меня помоему откомпилин к потдержкой многих кодировок. Код: plaintext 1. 2.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Можно выставить в конфигурационном файле кодировку поумолчанию. Или выставить нужнут при запуске сервера: Код: plaintext 1. 2. 3. 4. 5. 6.
Вообще - захиди ко мне на форум. http://forum.webcommand.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.10.2003, 11:32
|
|||
---|---|---|---|
Оператор LIKE |
|||
#18+
При смене набора символов во время работы MySQL (что может одновременно изменить и порядок сортировки) необходимо запустить команду Код: plaintext
При подключении клиента к серверу MySQL сервер отправляет ему используемый по умолчанию набор символов. На время соединения клиент переключается на использование этого набора. Для экранирования строк в SQL-запросе необходимо пользоваться функцией mysql_real_escape_string(). mysql_real_escape_string() идентична старой функции mysql_escape_string() - во всем, кроме одного: в качестве первого параметра она принимает дескриптор соединения MYSQL. Если клиент был скомпилирован с набором путей, в которых не было пути установки сервера, а настраивавший MySQL пользователь на включил в исполняемый файл системы все наборы символов, клиенту необходимо сообщить о местонахождении дополнительных наборов символов, которые нужны ему для общения с сервером. Сделать это можно путем внесения в файл настроек MySQL следующей строки: Код: plaintext 1.
путь в ней указывает на каталог, в котором хранятся динамические наборы символов MySQL. Заставить клиента использовать определенный набор символов можно следующим образом: Код: plaintext 1.
но обычно этого не требуется. Вообще - захиди ко мне на форум. http://forum.webcommand.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.10.2003, 01:46
|
|||
---|---|---|---|
|
|||
Оператор LIKE |
|||
#18+
Дело в том, что у меня MySQL под Windows (4.0.13) Перекомпилить его у меня не хватает квалификации. Есть прога MySQLADMIN - в ней можно править .ini файл. Что мне туда добавить? Сейчас там всего-навсего следующее: [WinMySQLAdmin] Server=C:/mysql/bin/mysqld-nt.exe ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.10.2003, 08:57
|
|||
---|---|---|---|
Оператор LIKE |
|||
#18+
Существует два файла опций с одинаковыми функциями: `my.cnf' и `my.ini'. Однако во избежание недоразумений лучше всего использовать только один из них. Оба файла представляют собой простой текст. Если вы собираетесь использовать файл `my.cnf', то его следует создать в корневом каталоге диска C, если `my.ini' - то в системном каталоге Windows (это обычно что-либо вроде `C:\WINDOWS' или `C:\WINNT'; его точное местоположение можно определить по значению переменной окружения windir). MySQL сначала ищет файл `my.ini', а затем `my.cnf'. Я бы правил `my.cnf' файл, покрайней мере у себя на компе я поступаю именно так. Добавить нужно, как я уже писал, следующее: [client] default-character-set=character-set-name name - название кодировки. Я позже выложу пример моего cnfм файла. Я сейчас просто на роботе. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.10.2003, 17:04
|
|||
---|---|---|---|
|
|||
Оператор LIKE |
|||
#18+
В файле my.cnf: [mysqld] default-character-set=win-1251 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.10.2003, 17:15
|
|||
---|---|---|---|
Оператор LIKE |
|||
#18+
2alex_34: Только не в [client]. Запросы и индексация выполняется на сервере. поэтому default-character-set должен быть в серверной части конфига ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.10.2003, 17:43
|
|||
---|---|---|---|
|
|||
Оператор LIKE |
|||
#18+
Примерчик бы не помешал ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=47&mobile=1&tid=1855715]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
61ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 167ms |
0 / 0 |