Задавайте вопросы, мы ответим
Вы не зашли.
После select ASCII('a'); имеем ответ 97. Это понятно. Но после select ASCII('й'); имеем ответ 63 со знаком вопроса. Это тоже понятно, т.к. код ‘й’ располагается не в пределах [0-127]. А как тогда получать коды символов, которые лежат в границах [128-255]?
Неактивен
У меня нормально работает. Для однобайтовых символов должно быть все в порядке, если у Вас правильно выставлена кодировка командой SET NAMES
Для UTF8 следует использовать ORD
mysql> select ord(russianname) from tags where id=26;
+------------------+
| ord(russianname) |
+------------------+
| 53409 |
+------------------+
1 row in set (0.00 sec)
Неактивен
Привет rgbeast! Спасибо. А ты попробуй набрать select ord(‘й’); и посмотри, что получится. Наверняка вернет неверный код этого символа.
Неактивен
Просто select ord('й') будет зависеть от того, в какой кодировке консоль. Вот правильный эксперимент:
mysql> set names koi8r;
Query OK, 0 rows affected (0.00 sec)
mysql> use test
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> create table b (t varchar(10)) CHARSET=UTF8;
Query OK, 0 rows affected (0.06 sec)
mysql> insert into b values ('й');
Query OK, 1 row affected (0.10 sec)
mysql> select ord(t) from b;
+--------+
| ord(t) |
+--------+
| 53433 |
+--------+
1 row in set (0.07 sec)
mysql> select ord('й');
+----------+
| ord('й') |
+----------+
| 202 |
+----------+
1 row in set (0.00 sec)
Неактивен
Набираю set names koi8r; ответ: не понимает переменную names.
Может быть то, что вы описали применимо только к MySQL 5.0?
У меня 4-я версия. Стоит ли переходить на версию повыше? Какие преимущества я получу?
Спасибо.
Неактивен
На 5.0 можно перейти, получите корректную поддержку кодировок, см. статью http://sqlinfo.ru/articles/info/5.html.
Кроме того, в 5.0 шире функционал - триггеры, процедуры, view.
Неактивен
Установил MySQL 5.0 Все здорово! Теперь вроде работает, слава Богу.
rgbeast! Выражаю огромную признательность.
Неактивен