Автор Гілка: памілка  (Прочитано 3651 раз)

idontremember

  • Гість
памілка
« : 2012-06-17 16:23:47 »
У всіх таке?
« Змінено: 2012-06-17 16:24:41 від idontremember »

Відсутній Михайло Даниленко

  • Адміністратор ЩОДО
  • Літератор
  • *****
  • дописів: 1262
  • Карма: +0/-0
  • [Debian Stretch]
Re: памілка
« Відповідей #1 : 2012-06-17 17:13:05 »
Де це трапляється, який текст повідомлення/тема використовуються?

idontremember

  • Гість
Re: памілка
« Відповідей #2 : 2012-06-17 18:14:28 »
Особисті повідомлення ВХІДНІ (Скринька) ТА ВІДПРАВЛЕНІ.

І якщо це дійсно помилка програміста, то я думаю що я зможу побачити всі свої повідомлення. У мене ВІДПРАВЛЕНИХ зараз ТІЛЬКИ ТРИ - але було набагато більше!!!!

Але якщо було здійснено несанкціонований доступ до одного з багатьох мооїх аккаунтів, то це вже не весело.

idontremember

  • Гість
Re: памілка
« Відповідей #3 : 2012-06-17 18:24:50 »
Відіслані.
---
Це тільки у мене чи в усіх???

---
Припущення\здогадки\теорії: Це схоже на помилку в скрипті* (можливо ви забули про те що у вінді два байти = новий рядок, а в юніксах один байт = новий рядок) або ще якийсь "нєфарматний" символ попадається.

ЯКБИ: Якби це був ява-скрипт, то можливо оно б не хотіло вірно працювати ТІЛЬКИ У МЕНЕ, через те що я блокую за допомогою ABP все, окрім того що дозволено.
---
* - і  кому я це говорю  :-/ ;D  :)


---
Грам0тичні помилки не хо виправляти. Якщо встигну [smiley=11.gif] - то виправлю.

-
Вже виправив.
« Змінено: 2012-06-17 18:35:19 від idontremember »

Відсутній Михайло Даниленко

  • Адміністратор ЩОДО
  • Літератор
  • *****
  • дописів: 1262
  • Карма: +0/-0
  • [Debian Stretch]
Re: памілка
« Відповідей #4 : 2012-06-17 18:41:06 »
Так, це тільки у вас. :P
Ну, майже.
Результати використання попередньої ненативної версії utf-8.
Тепер має бути все нормально.
« Змінено: 2012-06-17 18:41:55 від ISBear »

idontremember

  • Гість
Re: памілка
« Відповідей #5 : 2012-06-17 20:13:27 »
Так, це тільки у вас. :P
Ну, майже.
Результати використання попередньої ненативної версії utf-8.
Тепер має бути все нормально.

"ги-ги" чи "ха-ха"  ;D Що таке "не\нативна версія ..."

Off-topic:
Спочатку я прочитав "Результати використання попередньої ненормативної версії..."  ;D, та подумав, що через маттючя форум перегрівається. Але ж навіть коли я хочу матюкнутись - то роблю це культурно.

---

Подивився на листи (і для чого я захотів переглянути своє листування?) - так ії стало більше , АЛЕ...
« Змінено: 2012-06-17 20:15:45 від idontremember »

idontremember

  • Гість
Re: памілка
« Відповідей #6 : 2012-06-17 20:20:04 »
Результати використання попередньої ненативної версії utf-8.
Здається то від того, що я писав литси у Лінуксі? Чи як? Хто використовував "не таку" версію UTF-8?

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1418
  • Карма: +0/-0
Re: памілка
« Відповідей #7 : 2012-06-17 20:34:14 »
Off-topic:
Так. Здається якщо відкривати сайт в лінуксі - починаються проблеми.
Особливо небезпечно відкривати його в генту - можна стати гентушником.

Відсутній Михайло Даниленко

  • Адміністратор ЩОДО
  • Літератор
  • *****
  • дописів: 1262
  • Карма: +0/-0
  • [Debian Stretch]
Re: памілка
« Відповідей #8 : 2012-06-17 21:31:40 »
Ну тепер-то має працювати.

Нативний/не нативний utf-8 — режими роботи форуму у кодуванні utf-8.
Не нативний — робота в режимі, коли форум не підозрює про utf-8 і працює з ним побайтно.
Нативний — з моїм патчем, форум знає про utf-8 і працює з текстом посимвольно.

У не нативному режимі (який був раніше) форум міг обрізати повідомлення посередині кількабайтного символу, з-за чого вилізали '�' (некоректні utf-8 символи) в кінці обрізаних рядків.
Єдина проблема з нативним режимом — коли він натрапляє на отакий "обрізаний" символ, він вилітає з повідомленнями на кшталт тих, що ви бачили.

При апгрейді я пофіксив обрізані теми гілок форуму, але про приватні повідомлення забувся. Остання помилка була у обрізаному повідомленні статусу користувача.
« Змінено: 2012-06-17 21:36:11 від ISBear »

r00t x

  • Гість
Re: помилка
« Відповідей #9 : 2012-06-17 22:29:05 »
...
Наскільки я памятаю - то символ (тобто БУКВА) в utf8 кодується двома байтами.

Якийсь скрипт десь працював з байтами, а інший з символами - от в цьому у була проблема.(?)
---
Так, дійсно колись були обрізані назви тем з крякозябриками.
---
Амінь(?)

Відсутній RomadinR

  • Кореспондент
  • ***
  • дописів: 123
  • Карма: +0/-0
Re: помилка
« Відповідей #10 : 2012-06-21 00:36:59 »
Наскільки я памятаю - то символ (тобто БУКВА) в utf8 кодується двома байтами.
Взагалі-то не зовсім так. В UTF-8 символ (літера чи знак) може кодуватися від 1 до 6 (на сьогодні - до 4, 2 - в резерві і навряд чи колись будуть використовуватися) байт. Основні латинські символи кодуються одним байтом і співпадають із Американським стандартним кодом обміну інформацією (ASCII). Всі інші кодуються послідовностями 2,3 і 4 байт. Кирилиця кодується 2-байтними послідовностями.
При чому слід зауважити, що не всякі послідовності байт відповідають символам, тобто, існують "некоректні" послідовності, які не відповідають ніяким символам.
Таким чином, якщо програмне забезпечення "не знає", що використовується UTF-8 і розглядає текст у кодуванні UTF-8 як послідовність байт, то більшість "символьних" функцій (наприклад, length, substr, uppercase, lowercase ...) ,будуть працювати некоректно і можуть пошкодити текст - перетворити коректні послідовності байт у некоректні, які не відповідають жодному символу.

r00t x

  • Гість
Re: памілка
« Відповідей #11 : 2012-06-21 12:26:24 »
А як "повідомити" функціям про це, як і що потрібно робити у такому випадку?

Що робив М Даниленко? Він зберігав форум у потрібному форматі(?).

Відсутній Михайло Даниленко

  • Адміністратор ЩОДО
  • Літератор
  • *****
  • дописів: 1262
  • Карма: +0/-0
  • [Debian Stretch]
Re: памілка
« Відповідей #12 : 2012-06-21 13:11:41 »
У випадку перла — треба вказати при читанні чи записі даних, що вони у utf-8. Фактично:
Код: Perl
  1. binmode FILEDESCRIPTOR, ':encoding(utf8)';
Якщо сам код містить дані у utf-8, то
Код: Perl
  1. use utf8;

Я робив оце:
http://hg.isbear.org.ua/hg/isbear/lou-patches/file/14f72e161fb7/utf-8

Дані виправляв за допомогою iconv -c -f utf-8 -t utf-8 (викинути усі байти, що не вдасться декодувати як utf-8 символи).