109: (Default)
[personal profile] 109
спамеры тоже меня поздравляют, просто прорыв какой-то сегодня. на всех кодировках мира.

но этих пляшущих человечков и Шерлок Холмс бы не раскодировал. особенно прикалывает точечка с кружочком внутри в конце предложения.

パスワードの指定が間違っています。
パスワードの最初の文字はアルファベットで、パスワードは6桁以上15桁以下となります。

кстати о кодировках. в уникальном поле типа nvarchar слово pizza обнаружилось два раза (уникальность гарантируется не напрямую, а хэшем). то есть на запрос select queryText from query where queryText = 'pizza' выходят две записи. ну и group by, сцуко, выдаёт count = 2 на поле, которое должно быть уникальным.

будучи скопирована в винворд, вторая пицца оказалась написанной по-тайваньски. что вставляет не по-тайваньски, ибо тип String в дотнете сам по себе культурой не обладает, CultureInfo нужна только для того, чтобы понять, как правильно преобразовывать или там сравнивать строки. вот эти две пиццы, если кому интересно:

pizza
pizza

(no subject)

Date: 2007-12-28 06:28 am (UTC)
From: [identity profile] ivan-gandhi.livejournal.com
Я не понимаю канжи, но первое слово - прилагательное от слова password.

(no subject)

Date: 2007-12-28 08:21 am (UTC)
From: [identity profile] metaclass.livejournal.com
Гугл перевел:
"Specify the password is incorrect.
Password is the first letter of the alphabet, the 15-digit password is at least six digits or less."

А слова pizza из разных уникодных символов :)

(no subject)

Date: 2007-12-28 08:26 am (UTC)
From: [identity profile] metaclass.livejournal.com
Да, с пиццами шиза. Collation такой для этого столбца, что разные символы считаются одинаковыми. А хэш их очевидно различает.

(no subject)

Date: 2007-12-28 09:39 am (UTC)
From: [identity profile] 109.livejournal.com
вроде бы ожидалось, что уникод решит все такие проблемы once and for all, а поди ж ты.

(no subject)

Date: 2007-12-28 09:52 am (UTC)
From: [identity profile] metaclass.livejournal.com
Вот он и решил. Символы выглядят одинаково, а коды разные :)
Но проблема явно в таблицах преобразований и сравнений сервера. Я был сильно удивлен, когда у меня по умолчанию в MSSQL оказалось сравнение, нечувствительное к регистру символов.

(no subject)

Date: 2007-12-28 10:04 am (UTC)
From: [identity profile] 109.livejournal.com
нет, проблема явно в наличии unicode normalization forms :)

сравни эти пиццы в сишарпе. я буду крайне удивлён, если будут не равны.

а ведь ещё есть Canonical Equivalence vs. Compatibility Equivalence и 5,402 Unicode compatibility characters.

типичный случай of leaky abstraction.

(no subject)

Date: 2007-12-28 10:24 am (UTC)
From: [identity profile] metaclass.livejournal.com
Сравнил, как == .
Не равны.
Через String.Compare тоже не равны, для invariant culture и для zh-TW. Может для какой-нибудь культуры будут и равны :)

(no subject)

Date: 2007-12-28 09:44 am (UTC)
From: [identity profile] 109.livejournal.com
разные символы считаются одинаковыми

не. правильно говорить, что этот набор символов имеет более одного байтового представления.

(no subject)

Date: 2007-12-31 02:45 pm (UTC)
From: [identity profile] syarzhuk.livejournal.com
уникальность гарантируется не напрямую, а хэшем
Пару сотен байтиков на запись для индекса пожалели?

(no subject)

Date: 2007-12-31 06:57 pm (UTC)
From: [identity profile] 109.livejournal.com
во-первых, есть запросы, длина которых превышает 450 characters. во-вторых, когда в таблице миллиард записей, разница между "парой сотен" и "парой десятков" становится существенной.

(no subject)

Date: 2007-12-31 07:00 pm (UTC)
From: [identity profile] syarzhuk.livejournal.com
А тормоза от вычисления хеш-суммы некритичны?

(no subject)

Date: 2007-12-31 07:05 pm (UTC)
From: [identity profile] 109.livejournal.com
4 dual-core procs :)

anyway, хэш вычислить - куда быстрее, чем головкой дёрнуть. if you know what I mean :)

Profile

109: (Default)
109

March 2019

S M T W T F S
     12
3456789
101112131415 16
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags