stud_muffler 0 Опубликовано: 16 июля 2009 Рассказать Опубликовано: 16 июля 2009 (изменено) Господа! Зачем мучаться? Вот ссылка (UTFCast 1.0.3.11) на бесплатный пакетный конвертер. Конвертирует весь дистрибутив всего за минуту. Требуется указать исходную папку с файлами для конвертации, папку назначения, отметить чтобы конвертировал поддиректории и копировал то что не подлежит конвертации (картинки и другие бинарные файлы). Остаётся только поправить кодировку в тех файлах, где она прописана по-умолчанию, для чего я рекомендую Notepad++ unicode. Она в отличии от PSPad лучше поддерживает русский язык. Изменено 16 июля 2009 пользователем stud_muffler Цитата Ссылка на сообщение Поделиться на других сайтах
gosu 1 Опубликовано: 16 июля 2009 Рассказать Опубликовано: 16 июля 2009 Я не являюсь профессиональным PHP программист, но но это фигня! В Gallery3 для поддержки UTF8 мы читаем ... function _strtoupper($str) { if (SERVER_UTF8) return mb_strtoupper($str); if (utf8::is_ascii($str)) return strtoupper($str); static $UTF8_LOWER_TO_UPPER = NULL; if ($UTF8_LOWER_TO_UPPER === NULL) { $UTF8_LOWER_TO_UPPER = array( 0x0061=>0x0041, 0x03C6=>0x03A6, 0x0163=>0x0162, 0x00E5=>0x00C5, 0x0062=>0x0042, 0x013A=>0x0139, 0x00E1=>0x00C1, 0x0142=>0x0141, 0x03CD=>0x038E, 0x0101=>0x0100, 0x0491=>0x0490, 0x03B4=>0x0394, 0x015B=>0x015A, 0x0064=>0x0044, 0x03B3=>0x0393, 0x00F4=>0x00D4, 0x044A=>0x042A, 0x0439=>0x0419, 0x0113=>0x0112, 0x043C=>0x041C, 0x015F=>0x015E, 0x0144=>0x0143, 0x00EE=>0x00CE, 0x045E=>0x040E, 0x044F=>0x042F, 0x03BA=>0x039A, 0x0155=>0x0154, 0x0069=>0x0049, 0x0073=>0x0053, 0x1E1F=>0x1E1E, 0x0135=>0x0134, 0x0447=>0x0427, 0x03C0=>0x03A0, 0x0438=>0x0418, 0x00F3=>0x00D3, 0x0440=>0x0420, 0x0454=>0x0404, 0x0435=>0x0415, 0x0449=>0x0429, 0x014B=>0x014A, 0x0431=>0x0411, 0x0459=>0x0409, 0x1E03=>0x1E02, 0x00F6=>0x00D6, 0x00F9=>0x00D9, 0x006E=>0x004E, 0x0451=>0x0401, 0x03C4=>0x03A4, 0x0443=>0x0423, 0x015D=>0x015C, 0x0453=>0x0403, 0x03C8=>0x03A8, 0x0159=>0x0158, 0x0067=>0x0047, 0x00E4=>0x00C4, 0x03AC=>0x0386, 0x03AE=>0x0389, 0x0167=>0x0166, 0x03BE=>0x039E, 0x0165=>0x0164, 0x0117=>0x0116, 0x0109=>0x0108, 0x0076=>0x0056, 0x00FE=>0x00DE, 0x0157=>0x0156, 0x00FA=>0x00DA, 0x1E61=>0x1E60, 0x1E83=>0x1E82, 0x00E2=>0x00C2, 0x0119=>0x0118, 0x0146=>0x0145, 0x0070=>0x0050, 0x0151=>0x0150, 0x044E=>0x042E, 0x0129=>0x0128, 0x03C7=>0x03A7, 0x013E=>0x013D, 0x0442=>0x0422, 0x007A=>0x005A, 0x0448=>0x0428, 0x03C1=>0x03A1, 0x1E81=>0x1E80, 0x016D=>0x016C, 0x00F5=>0x00D5, 0x0075=>0x0055, 0x0177=>0x0176, 0x00FC=>0x00DC, 0x1E57=>0x1E56, 0x03C3=>0x03A3, 0x043A=>0x041A, 0x006D=>0x004D, 0x016B=>0x016A, 0x0171=>0x0170, 0x0444=>0x0424, 0x00EC=>0x00CC, 0x0169=>0x0168, 0x03BF=>0x039F, 0x006B=>0x004B, 0x00F2=>0x00D2, 0x00E0=>0x00C0, 0x0434=>0x0414, 0x03C9=>0x03A9, 0x1E6B=>0x1E6A, 0x00E3=>0x00C3, 0x044D=>0x042D, 0x0436=>0x0416, 0x01A1=>0x01A0, 0x010D=>0x010C, 0x011D=>0x011C, 0x00F0=>0x00D0, 0x013C=>0x013B, 0x045F=>0x040F, 0x045A=>0x040A, 0x00E8=>0x00C8, 0x03C5=>0x03A5, 0x0066=>0x0046, 0x00FD=>0x00DD, 0x0063=>0x0043, 0x021B=>0x021A, 0x00EA=>0x00CA, 0x03B9=>0x0399, 0x017A=>0x0179, 0x00EF=>0x00CF, 0x01B0=>0x01AF, 0x0065=>0x0045, 0x03BB=>0x039B, 0x03B8=>0x0398, 0x03BC=>0x039C, 0x045C=>0x040C, 0x043F=>0x041F, 0x044C=>0x042C, 0x00FE=>0x00DE, 0x00F0=>0x00D0, 0x1EF3=>0x1EF2, 0x0068=>0x0048, 0x00EB=>0x00CB, 0x0111=>0x0110, 0x0433=>0x0413, 0x012F=>0x012E, 0x00E6=>0x00C6, 0x0078=>0x0058, 0x0161=>0x0160, 0x016F=>0x016E, 0x03B1=>0x0391, 0x0457=>0x0407, 0x0173=>0x0172, 0x00FF=>0x0178, 0x006F=>0x004F, 0x043B=>0x041B, 0x03B5=>0x0395, 0x0445=>0x0425, 0x0121=>0x0120, 0x017E=>0x017D, 0x017C=>0x017B, 0x03B6=>0x0396, 0x03B2=>0x0392, 0x03AD=>0x0388, 0x1E85=>0x1E84, 0x0175=>0x0174, 0x0071=>0x0051, 0x0437=>0x0417, 0x1E0B=>0x1E0A, 0x0148=>0x0147, 0x0105=>0x0104, 0x0458=>0x0408, 0x014D=>0x014C, 0x00ED=>0x00CD, 0x0079=>0x0059, 0x010B=>0x010A, 0x03CE=>0x038F, 0x0072=>0x0052, 0x0430=>0x0410, 0x0455=>0x0405, 0x0452=>0x0402, 0x0127=>0x0126, 0x0137=>0x0136, 0x012B=>0x012A, 0x03AF=>0x038A, 0x044B=>0x042B, 0x006C=>0x004C, 0x03B7=>0x0397, 0x0125=>0x0124, 0x0219=>0x0218, 0x00FB=>0x00DB, 0x011F=>0x011E, 0x043E=>0x041E, 0x1E41=>0x1E40, 0x03BD=>0x039D, 0x0107=>0x0106, 0x03CB=>0x03AB, 0x0446=>0x0426, 0x00FE=>0x00DE, 0x00E7=>0x00C7, 0x03CA=>0x03AA, 0x0441=>0x0421, 0x0432=>0x0412, 0x010F=>0x010E, 0x00F8=>0x00D8, 0x0077=>0x0057, 0x011B=>0x011A, 0x0074=>0x0054, 0x006A=>0x004A, 0x045B=>0x040B, 0x0456=>0x0406, 0x0103=>0x0102, 0x03BB=>0x039B, 0x00F1=>0x00D1, 0x043D=>0x041D, 0x03CC=>0x038C, 0x00E9=>0x00C9, 0x00F0=>0x00D0, 0x0457=>0x0407, 0x0123=>0x0122, ); } $uni = utf8::to_unicode($str); if ($uni === FALSE) return FALSE; for ($i = 0, $c = count($uni); $i < $c; $i++) { if (isset($UTF8_LOWER_TO_UPPER[$uni[$i]])) { $uni[$i] = $UTF8_LOWER_TO_UPPER[$uni[$i]]; } } return utf8::from_unicode($uni); } function _strlen($str) { // Try mb_strlen() first because it's faster than combination of is_ascii() and strlen() if (SERVER_UTF8) return mb_strlen($str); if (utf8::is_ascii($str)) return strlen($str); return strlen(utf8_decode($str)); } function _trim($str, $charlist = NULL) { if ($charlist === NULL) return trim($str); return utf8::ltrim(utf8::rtrim($str, $charlist), $charlist); } Хотите узнать больше? function _strrev($str) { if (utf8::is_ascii($str)) return strrev($str); preg_match_all('/./us', $str, $matches); return implode('', array_reverse($matches[0])); } function _strpos($str, $search, $offset = 0) { $offset = (int) $offset; if (SERVER_UTF8) return mb_strpos($str, $search, $offset); if (utf8::is_ascii($str) AND utf8::is_ascii($search)) return strpos($str, $search, $offset); if ($offset == 0) { $array = explode($search, $str, 2); return isset($array[1]) ? utf8::strlen($array[0]) : FALSE; } $str = utf8::substr($str, $offset); $pos = utf8::strpos($str, $search); return ($pos === FALSE) ? FALSE : $pos + $offset; } function _substr($str, $offset, $length = NULL) { if (SERVER_UTF8) return ($length === NULL) ? mb_substr($str, $offset) : mb_substr($str, $offset, $length); if (utf8::is_ascii($str)) return ($length === NULL) ? substr($str, $offset) : substr($str, $offset, $length); // Normalize params $str = (string) $str; $strlen = utf8::strlen($str); $offset = (int) ($offset < 0) ? max(0, $strlen + $offset) : $offset; // Normalize to positive offset $length = ($length === NULL) ? NULL : (int) $length; // Impossible if ($length === 0 OR $offset >= $strlen OR ($length < 0 AND $length <= $offset - $strlen)) return ''; // Whole string if ($offset == 0 AND ($length === NULL OR $length >= $strlen)) return $str; // Build regex $regex = '^'; // Create an offset expression if ($offset > 0) { // PCRE repeating quantifiers must be less than 65536, so repeat when necessary $x = (int) ($offset / 65535); $y = (int) ($offset % 65535); $regex .= ($x == 0) ? '' : '(?:.{65535}){'.$x.'}'; $regex .= ($y == 0) ? '' : '.{'.$y.'}'; } // Create a length expression if ($length === NULL) { $regex .= '(.*)'; // No length set, grab it all } // Find length from the left (positive length) elseif ($length > 0) { // Reduce length so that it can't go beyond the end of the string $length = min($strlen - $offset, $length); $x = (int) ($length / 65535); $y = (int) ($length % 65535); $regex .= '('; $regex .= ($x == 0) ? '' : '(?:.{65535}){'.$x.'}'; $regex .= '.{'.$y.'})'; } // Find length from the right (negative length) else { $x = (int) (-$length / 65535); $y = (int) (-$length % 65535); $regex .= '(.*)'; $regex .= ($x == 0) ? '' : '(?:.{65535}){'.$x.'}'; $regex .= '.{'.$y.'}'; } preg_match('/'.$regex.'/us', $str, $matches); return $matches[1]; } Это не половину полный код для UTF8 поддержка. Цитата Ссылка на сообщение Поделиться на других сайтах
webturist 6 Опубликовано: 17 июля 2009 Рассказать Опубликовано: 17 июля 2009 Автор Господа! Зачем мучаться? Вот ссылка (UTFCast 1.0.3.11) на бесплатный пакетный конвертер. Конвертирует весь дистрибутив всего за минуту. Требуется указать исходную папку с файлами для конвертации, папку назначения, отметить чтобы конвертировал поддиректории и копировал то что не подлежит конвертации (картинки и другие бинарные файлы). Остаётся только поправить кодировку в тех файлах, где она прописана по-умолчанию, для чего я рекомендую Notepad++ unicode. Она в отличии от PSPad лучше поддерживает русский язык. stud_muffler Конвертация за минуту - это конечно хорошо, но рабочий пример есть? Действительно ли конвертирует? А то я этих конвертеров... Что касается Notepad++ unicode, не могли бы Вы конкретно сказать, в чем же выражается его "лучшая поддержка" русского языка, чем у PSPad? Есть еще один момент, если все равно лазить блокнотом и править прописанную кодировку, смысл пакетного перекодирования в чем? 2 лишних клика в блокноте не делать? Впрочем каждый танцует и поет как желает, главное результат. Один и тот же, качественный, результат за меньшее время конечно приветствуется, но главное слово за качеством. Цитата Ссылка на сообщение Поделиться на других сайтах
prikindel 255 Опубликовано: 17 июля 2009 Рассказать Опубликовано: 17 июля 2009 сконвертировать это минутное дело тут вопрос с поиском встает и с работой со строками Цитата Ссылка на сообщение Поделиться на других сайтах
pompey 0 Опубликовано: 20 июля 2009 Рассказать Опубликовано: 20 июля 2009 Drupal-ом юзайте... Цитата Ссылка на сообщение Поделиться на других сайтах
Shad0ff 0 Опубликовано: 23 июля 2009 Рассказать Опубликовано: 23 июля 2009 проблема конвертации не в переводе всех файлов в UTF-8, а в том, чтобы заставить после конвертации работать ajax и прочие подобные функции, т.к. то же быстрое редактирование на срабатывает при тупом конвертировании в UTF-8 по причине того, что ajax (в движке) изначально заточен под cp1251 и не понимает UTF, поэтому просто конвертацией не обойтичь если хочется 100% рабочий движок. Просто конвертацией (с исправлением meta заголовков) можно добиться только правильного отображения UTF-8 на страницах движка, не более... Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 077 Опубликовано: 23 июля 2009 Рассказать Опубликовано: 23 июля 2009 по причине того, что ajax (в движке) изначально заточен под cp1251 и не понимает UTF не говорите бреда. AJAX изначально на UTF-8 работает и только потом если установлена кодировка windows-1251 конвертирует текст, если не установлена, то не конвертирует, вы даже кодировку не можете верно выставить, и элементарно разобраться как нужно работать с UTF-8. Работа с этой кодировкой требует знаний, без коих даже соваться в нее не стоит. версия UTF делается максимум за 15 минут, конвертируются файлы, в языковом файле и файле инсталяции ставится нужная кодировка, также в языковых файлах задается iconv_set_encoding вместо setlocale для задания внутренней кодировки библиотеки, потом просто массовая замена слова strlen на iconv_strlen, strpos на iconv_strpos, substr на iconv_substr. Куча программ позволяют это сделать за секунду. Все дистрибутив готов, в котором работают все возможности. Только я этого делать не буду, до тех пор пока не появится полноценная поддержка UTF в PHP, когда не будет в нем багов с BOM байтами. Я не планирую создавать проблемы тысячам людей в редактировании файлов, установке, и работе со скриптом, ряди пяти человек нужен UTF, причем три из этих пяти человек, даже понятия не имеют как работать с этой кодировкой и какие требования она предъявляет к редактированию и настройкам сервера. Цитата Ссылка на сообщение Поделиться на других сайтах
webturist 6 Опубликовано: 23 июля 2009 Рассказать Опубликовано: 23 июля 2009 (изменено) Автор по причине того, что ajax (в движке) изначально заточен под cp1251 и не понимает UTF не говорите бреда. AJAX изначально на UTF-8 работает и только потом если установлена кодировка windows-1251 конвертирует текст, если не установлена, то не конвертирует, вы даже кодировку не можете верно выставить, и элементарно разобраться как нужно работать с UTF-8. Работа с этой кодировкой требует знаний, без коих даже соваться в нее не стоит. +1 версия UTF делается максимум за 15 минут, конвертируются файлы, в языковом файле и файле инсталяции ставится нужная кодировка, также в языковых файлах задается iconv_set_encoding вместо setlocale для задания внутренней кодировки библиотеки, потом просто массовая замена слова strlen на iconv_strlen, strpos на iconv_strpos, substr на iconv_substr. Куча программ позволяют это сделать за секунду. Все дистрибутив готов, в котором работают все возможности. Только я этого делать не буду, до тех пор пока не появится полноценная поддержка UTF в PHP, когда не будет в нем багов с BOM байтами. Я не планирую создавать проблемы тысячам людей в редактировании файлов, установке, и работе со скриптом, ряди пяти человек нужен UTF, причем три из этих пяти человек, даже понятия не имеют как работать с этой кодировкой и какие требования она предъявляет к редактированию и настройкам сервера. celsoft BOM байты - это фигня. Сделайте 2 дистрибутива. Кому надо тот возьмет и будет ему счастье. 5 чел - это потому, что другим только UTF и нужен, и они даже не заходят/не пишут/не просят/не покупают - потому как юникодной версии нет. Могу сказать что видел много сайтов перекодированных вручную, на ДЛЕ. На многих из них даже строка "Nulled by MID-TEAM" не была убрана. Тогда еще присматривался к новостным движкам. А страны и языки, которые к этим странам относятся - очень даже платежеспособные. Например испаноязычные и греческие сайты. Также видел сайты на армянском, азербайджанском, грузинском, турецком и прочих языках ближнего зарубежья, по крайней мере армяне, азера и грузины спокойно могут платить в вебмани. С некоторыми даже общался и как говорили примерно 50% бывших сограждан - не купят пока не будет юникода, говорят возиться самим мучиться, и еще платить... Денег мол можно дать, но чтобы не мучиться самим потом. Во всяком случае так говорила половина админов с посещаемостью от нескольких тысяч в день. ДЛЕ версия 8,2 в юникоде для многих может быть переломно-радостным моментом в выборе двигателя и покупке лицензии. Я не говорю прекращать существующую кодировку - просто добавить двигатель в юникоде. Вот и все. Изменено 23 июля 2009 пользователем webturist Цитата Ссылка на сообщение Поделиться на других сайтах
pentagon 1 Опубликовано: 23 июля 2009 Рассказать Опубликовано: 23 июля 2009 Наличие дистрибутива в UTF-8 - несомненный плюс для движка. К тому же его наличие - это определенно "хороший тон" и более-менее стандарт де-факто для коммерческих CMS. Автор движка имеет полное право записать такой плюс в свой актив или иметь причины не делать этого. Вот и весь сказ. Все и так довольны. Ну. более-менее Цитата Ссылка на сообщение Поделиться на других сайтах
Serahele 0 Опубликовано: 25 июля 2009 Рассказать Опубликовано: 25 июля 2009 UTF-8 нужен обязательно. Удивляет такая жесткая категоричность разрабов движка по отношению к этой кодировке Хотя, как верно замечено было - время свое возьмет, и им придется перейти на UTF_8, а пока - работаем руками Цитата Ссылка на сообщение Поделиться на других сайтах
webturist 6 Опубликовано: 25 июля 2009 Рассказать Опубликовано: 25 июля 2009 Автор UTF-8 нужен обязательно. Удивляет такая жесткая категоричность разрабов движка по отношению к этой кодировке Хотя, как верно замечено было - время свое возьмет, и им придется перейти на UTF_8, а пока - работаем руками Serahele, меня тоже это удивляет. Но разработчик упомянул причину - BOM байты. Так вот этой проблемы я совершенно не испытываю перекодировывая/распаковывая/и так далее в директории локального сервера. В среде вне локального сервера действительно BOM байты добавляет виндовс. Я использую Appserv, правда ДЛЕ на нем коряво становится, но для тестирования ДЛЕ есть реальный сервер, денвером просто не пользуюсь, может и в его директориях прописывается BOM, ХЗ. Все остальное, кроме ДЛЕ использую в юникоде, и BOM байты меня совершенно не беспокоят. Как-то раз распаковал файлы обновления форума SMF вне локалки, и сразу залил на сервер - перестала отображаться капча, понял, распаковал в директории локального сервера, затем залил на сервер - и все встало на свои места. Время свое конечно возьмет, но хотелось бы пораньше. Руками работать одно, а официально получать нормальную версию другое. Тем более не просим же отказываться от существующей кодировки, просто добавить версию в юникоде. Я например сейчас жду релиз 8,2, там оптимизированы запросы к БД и некоторые нужные функции добавлены. Перекодировывать за 15 минут не могу. Основательно привык все делать, если проверять и прописывать файлы - то вручную. Но факт в том, что если не будет версии в юникоде - я не буду все время проделывать эту работу. Сделаю один раз и все. Буду обновлять только ввиду критических уязвимостей. А если будет юникод, то уже можно об этом всем не думать и покупать вечные лицензии. Без юникода больше годовых мне покупать смысла нет. В общем "надежда умирает последней". Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 077 Опубликовано: 25 июля 2009 Рассказать Опубликовано: 25 июля 2009 Но разработчик упомянул причину - BOM байты. Так вот этой проблемы я совершенно не испытываю перекодировывая/распаковывая/и так далее в директории локального сервера. В среде вне локального сервера действительно BOM байты добавляет виндовс. BOM байты нужны для редактирования файлов в среде Windows, в обычных редакторах, без BOM байтов файл можно отредактировать в специальных редакторах, о существовании коих не знает ну как минимум 95%. Даже вы не знаете об этом, считая что проблема в том что распаковка вне сервера. ВОM байты Windows ставит автоматически, чтобы идентифицировать файлы, а PHP при этом не поддерживает BOM байты, и этот баг PHP будет исправлен только в PHP 6. И проблемы вы не испытываете до тех пор пока вы не начали редактировать файлы и вносить в них изменения, обычным блокнотом вы эти изменения не внесете. И затраты на обучение пользователей как работать с UTF-8, какими редакторами редактировать, какие настройки сервера должны быть (на большинстве российских хостинг провайдеров локаль принудительно установлена на windows-1251) гораздо больше чем доходы от поддержки этой версии. Не забывайте что DLE это коммерческий проект и пользователю купившему скрипт, не может быть сказано: "У тебя руки из ...... и решай свои проблемы сам", а это значит что каждому нужно будет все раскладывать по полочкам, настраивать его сервер, обучать редактированию. А тотальное воровство скрипта не позволяет нанять отдельных специальных людей для этого. Поэтому так и будет, пока баг PHP перестанет быть тотальным и с UTF можно будет работать также как и с локальной кирилицей, дистрибутива на UTF-8 не будет. И не сравнивайте реализацию UTF в кирилице с англоязычными скриптами, там большого ума не нужно, написал utf-8 и все, т.к. латиница она и в африке латиница, там ничего кодировать или думать о BOM байтах не нужно Хотя, как верно замечено было - время свое возьмет, и им придется перейти на UTF_8, а пока - работаем руками Какое время? Вот больше всего что я не приемлю, это стадное поведение. Некоторые просто думают, что utf это новое модное и крутое и эта фишка без которой ниодин сайт теперь жить не может, иначе он просто устарел. Это кодировка существует с 1991 года и предназначена для решения определенных вопросов. Какое у вас время придет, которое за 18 лет еще не пришло? Ну и напоследок забыл, БД в UTF в четыре раза большего обьема чем в локальной кодировке при одинаковом объеме информации, потому что в локальной кодировке символ занимает 1 байт, в UTF четыре байта ну и соответственно и нагрузка также увеличится, это так если кто не в курсе. Цитата Ссылка на сообщение Поделиться на других сайтах
webturist 6 Опубликовано: 25 июля 2009 Рассказать Опубликовано: 25 июля 2009 (изменено) Автор Но разработчик упомянул причину - BOM байты. Так вот этой проблемы я совершенно не испытываю перекодировывая/распаковывая/и так далее в директории локального сервера. В среде вне локального сервера действительно BOM байты добавляет виндовс. BOM байты нужны для редактирования файлов в среде Windows, в обычных редакторах, без BOM байтов файл можно отредактировать в специальных редакторах, о существовании коих не знает ну как минимум 95%. Даже вы не знаете об этом, считая что проблема в том что распаковка вне сервера. ВОM байты Windows ставит автоматически, чтобы идентифицировать файлы, а PHP при этом не поддерживает BOM байты, и этот баг PHP будет исправлен только в PHP 6. И проблемы вы не испытываете до тех пор пока вы не начали редактировать файлы и вносить в них изменения, обычным блокнотом вы эти изменения не внесете. И затраты на обучение пользователей как работать с UTF-8, какими редакторами редактировать, какие настройки сервера должны быть (на большинстве российских хостинг провайдеров локаль принудительно установлена на windows-1251) гораздо больше чем доходы от поддержки этой версии. Не забывайте что DLE это коммерческий проект и пользователю купившему скрипт, не может быть сказано: "У тебя руки из ...... и решай свои проблемы сам", а это значит что каждому нужно будет все раскладывать по полочкам, настраивать его сервер, обучать редактированию. А тотальное воровство скрипта не позволяет нанять специальных людей для этого. Поэтому так и будет, пока баг PHP перестанет быть тотальным и с UTF можно будет работать также как и с локальной кирилицей, дистрибутива на UTF-8 не будет. И не сравнивайте реализацию UTF в кирилице с англоязычными скриптами, там большого ума не нужно, написал utf-8 и все, т.к. латиница она и в африке латиница, там ничего кодировать или думать о BOM байтах не нужно celsoft, я не редактирую файлы PHP виндосовским блокнотом, вообще им ничего не редактирую, и впервые столкнулся с проблеммой UTF давным давно в случае, который описал. В блокноте единственное что я учил, так это было "Hello World!", далее была Макромедия и PSPad, и никаких проблем с BOM байтами не было. Я не PHP-ст, но всегда приходится что-то редактировать и в PHP, на данный момент версия PHP у меня 5.1.6, и абсолютно все работает в UTF-8, прекрасно работает. То, что у большинства Российских провайдеров принудительно установлена локаль windows-1251 - мне как-то безразлично, у меня установлен юникод, без него я не смогу работать, так как нужные мне языки не поддерживаются кроме русского. У меня лично руки растут оттуда откуда надо, и в данном случае Вы мне говорите: "решай свои проблемы сам". Я то их решу сам, но мне придется постоянно их решать, если я всегда захочу обновляться актуальной версией, а это мне уже не по душе. Легче только критические заплатки ставить, о чем я и написал. И Вам ведь тоже должно быть интересно, чтобы ни у кого не было проблем и больше людей приобретало Ваш продукт? Или Вам это не интересно? Вас никто не просит переходить на юникодную версию полностью, выставьте 2 версии - одну юникодную. Кому надо - тот разберется какую брать. И все будут довольны и счастливы. Хотя, как верно замечено было - время свое возьмет, и им придется перейти на UTF_8, а пока - работаем руками Какое время? Вот больше всего что я не приемлю, это стадное поведение. Некоторые просто думают, что utf это новое модное и крутое и эта фишка без которой ниодин сайт теперь жить не может, иначе он просто устарел. Это кодировка существует с 1991 года и предназначена для решения определенных вопросов. Какое у вас время придет, которое за 18 лет еще не пришло? Ну и напоследок забыл, БД в UTF в четыре раза большего обьема чем в локальной кодировке при одинаковом объеме информации, потому что в локальной кодировке символ занимает 1 байт, в UTF четыре байта ну и соответственно и нагрузка также увеличится, это так если кто не в курсе. О каком стадном поведении идет речь, когда: Это кодировка существует с 1991 года и предназначена для решения определенных вопросов. Как раз тому, кому и нужно решение "определенных вопросов" - эта кодировка и нужна. А эти определенные вопросы для меня - поддержка языков. Без таковой поддержки некоторым все равно какой крутизны движок. Насчет большего веса мне известно, но есть такое понятие как "необходимость"... Если Вы делаете юникодную версию за 15 минут, неужели трудно выложить страждущим вторую версию? Впрочем я чувствую, что зря тут разговоры и просьбы пишутся. Подожду 8,2 и сделаю все сам раз на то пошло. Критические обновления всегда доступны. Придется так и брать для новостных сайтов годичные лицензии. Изменено 25 июля 2009 пользователем webturist Цитата Ссылка на сообщение Поделиться на других сайтах
zyzzza 0 Опубликовано: 25 июля 2009 Рассказать Опубликовано: 25 июля 2009 Чесно говря был удивлен что нету юникода. Xотел быстренько сайт запустить, и вот повис на конвертации и переводе... А две версии были бы xорошей альтренативой . Надеюсь разработчик поймет, что клиентов от этого на самом деле должно увеличится. Цитата Ссылка на сообщение Поделиться на других сайтах
webturist 6 Опубликовано: 25 июля 2009 Рассказать Опубликовано: 25 июля 2009 Автор Чесно говря был удивлен что нету юникода. Xотел быстренько сайт запустить, и вот повис на конвертации и переводе... А две версии были бы xорошей альтренативой . Надеюсь разработчик поймет, что клиентов от этого на самом деле должно увеличится. zyzzza, мы и просили вторую версию в юникоде. Почитай тему, не хочет разработчик понимать. Выходит, что мы покупаем продукт для русского языка, а кому нужен + другой язык - это проблемы того, кому не хватает русского. Если устраивает восьмерка - перекодировывай сам, быстрее сделаешь. Если 8,2 нужна - переводи пока языковые файлы, чтобы времени не терять. У меня все готово кроме движка, 8,2 жду со дня на день. Цитата Ссылка на сообщение Поделиться на других сайтах
IT-Security 33 Опубликовано: 25 июля 2009 Рассказать Опубликовано: 25 июля 2009 Как сказал Владимир - необходимо пересохранить файлы языка, файлы шаблонов и инсталятор. Я готов сам этим заниматься, если всем в падлу. Только лицензионное соглашение составлю, что не отвечаю за последствия использования UTF8 в движке. Каждый скачавший которому UTF НУЖЕН автоматически с этим соглашается. Устроит? http://forum.dle-news.ru/index.php?showtop...mp;#entry219685 Цитата Ссылка на сообщение Поделиться на других сайтах
webturist 6 Опубликовано: 26 июля 2009 Рассказать Опубликовано: 26 июля 2009 Автор Как сказал Владимир - необходимо пересохранить файлы языка, файлы шаблонов и инсталятор. Я готов сам этим заниматься, если всем в падлу. Только лицензионное соглашение составлю, что не отвечаю за последствия использования UTF8 в движке. Каждый скачавший которому UTF НУЖЕН автоматически с этим соглашается. Устроит? http://forum.dle-news.ru/index.php?showtop...mp;#entry219685 "На безрыбье и рак - рыба" Можно попробовать. Дописать в соглашение можно: "Кто не знает зачем ему UTF-8 - тому не трогать данный дистрибутив!". Пойду в тему лицензионного соглашения добавлю. Цитата Ссылка на сообщение Поделиться на других сайтах
IT-Security 33 Опубликовано: 26 июля 2009 Рассказать Опубликовано: 26 июля 2009 Готово. Чуть позже возможно конвертёр напишу....Но вообще столько труда за бесплатно плюс получение претензий - неблагородный труд, поэтому советую всё таки при условиях установки с нуля UTF8 использовать. Цитата Ссылка на сообщение Поделиться на других сайтах
webturist 6 Опубликовано: 26 июля 2009 Рассказать Опубликовано: 26 июля 2009 Автор IT-Security, респект! Вы планируете поддерживать юникодную версию постоянно? С нуля конечно установлю. Кстати файлам чарсет UTF-8 пишется, базе utf8, рекомендуемая локаль utf8_general_ci Посмотрите людей сколько будет юзать, чую реально клиентов прибавится. Претензии предъявлять не буду, и чем смогу - помогу, вплоть до предоставления реального тестового аккаунта на хостинге с локалью utf8_general_ci . Душе будет приятно, когда пол планеты будет на русской разработке сидеть. celsoft, "сначала бывает страшно, потом приятно!" Все будет хорошо. Цитата Ссылка на сообщение Поделиться на других сайтах
IT-Security 33 Опубликовано: 26 июля 2009 Рассказать Опубликовано: 26 июля 2009 (изменено) Мне хватает своего серверного парка и локалхоста Я планирую выкачать дистрибутивы с 7.0 по 8.0 и проделать необходимые манипуляции и выложить изменённые файлы. Вот только как от нуллеров избавится...В идеале выкладывать в разделе клиентов конечно...Ну да ладно, ведь это мог сделать любой. Изменено 26 июля 2009 пользователем IT-Security Цитата Ссылка на сообщение Поделиться на других сайтах
webturist 6 Опубликовано: 26 июля 2009 Рассказать Опубликовано: 26 июля 2009 Автор Мне хватает своего серверного парка и локалхоста Я планирую выкачать дистрибутивы с 7.0 по 8.0 и проделать необходимые манипуляции и выложить изменённые файлы. Вот только как от нуллеров избавится...В идеале выкладывать в разделе клиентов конечно...Ну да ладно, ведь это мог сделать любой. БОГ в помощь! Удачи! От нуллеров UTF-8 избавиться легче, как правильно заметил celsoft, у подавляющего большинства русских хостеров локаль не та, тот кто будет брать в юникоде - будет использовать не на русских серверах в основном. А там одно письмо разработчика - и нуль блокирован, вплоть до удаления аккаунта. Многие даже установить нуль не дадут. Цитата Ссылка на сообщение Поделиться на других сайтах
IT-Security 33 Опубликовано: 26 июля 2009 Рассказать Опубликовано: 26 июля 2009 Проблема в том, что в том же инсталяторе нужно принудительно кинуть заголовок: header ("Content-type: text/html; Charset=UTF-8"); так как сервер ПРИНУДИТЕЛЬНО отдаёт в cp1251...Возможно тоже самое с индекс.пхп, но его Владимир сказал не нужно декодировать... Вообщем нужно сделать и очень тщательно проверить... Я разработчик простенького движка для себя, он как раз утф8 только и поддерживает и там у меня вообще все файле пересохранены в утфе... Плюс где нужно заголовки... Вообщем будем смотреть. Цитата Ссылка на сообщение Поделиться на других сайтах
webturist 6 Опубликовано: 26 июля 2009 Рассказать Опубликовано: 26 июля 2009 (изменено) Автор У меня коллате в utf8 на сервере по дефолту. Если что я рядом У Ютекса кстати в cp1251. Изменено 26 июля 2009 пользователем webturist Цитата Ссылка на сообщение Поделиться на других сайтах
IT-Security 33 Опубликовано: 26 июля 2009 Рассказать Опубликовано: 26 июля 2009 В ICQ напишите... Цитата Ссылка на сообщение Поделиться на других сайтах
IT-Security 33 Опубликовано: 26 июля 2009 Рассказать Опубликовано: 26 июля 2009 Сделано для 8.0 На этом пожалуй и остановимся. 8.2 сделаю после выхода в этот же день. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.