Просмотр полной версии : cp1251 VS utf-8
.:EnoT:.
06.11.2008, 13:48
Собственно хотелось бы с вами пообсуждать кто какую кодировку предпочитает и кто какие плюсы и минусы видит в них обеих. Просто лазия по инету вижу совершенно противоположные мнения по этому поводу...
От себя скажу, что с юникодом работаю не так давно, примерно месяц, но уже увидел плюсы этой кодировки..и ни разу не замечал чтобы вес страниц повышался в два раза, немного вырастает конечно, но не в два это точно. Ну и конечно поддержка бОльшего количества символов.
Ну так вот, хотелось бы узнать кто считает что русский текст должен быть в ср1251, а кто считает что юникод кодировка будущего))
Просьба без флуда и обосновывать свои выводы :)
Pernat1y
06.11.2008, 13:56
юникод, оф корз )
собственно из-за нормальной поддержки языков
Юзаю cp1251 - привычка...
InfernoNet
06.11.2008, 14:03
UTF-8 из-за юниксов.
Хотя у себя на компе предпочитаю cp1251 т.к. из под винды.
Но проголосовал за UTF-8
http://habrahabr.ru/blogs/webdev/38026/
— Очень хорошая статья.
1251 имхо,но и utf-8 имеет и будет иметь всегда будущее.
GreenBear
06.11.2008, 14:54
а какие минусы у утф8, кроме ее плюсов?
проголосовал за UTF-8.
UTF-8 удобно любой движок с других языков переводить на русский. не нужно БД движка перекодировывать.
-=lebed=-
06.11.2008, 15:06
а какие минусы у утф8, кроме ее плюсов?
Символы с кодами выше 128 занимают уже больше одного байта (т.е. расход занимаемой памяти...)
Наглядный пример: отправка SMS. В кириллице вы отправите сообщение длинной в два раза меньше чем в латинице, так что выгоднее писать транслитом (что я всегда и делаю, иначе SMS-ка разобьётся на 2 части и придётся платить за 2 SMS). Наглядный пример того как юникод UTF8 бьёт по карману (была бы CP1251 - разницы бы не было в чём я пишу SMS в латинице или в кирилице).
GreenBear
06.11.2008, 15:16
и вам ее жалко? у вас на серверах по 256 мб и диски на 2 гига?
-=lebed=-
06.11.2008, 15:24
и вам ее жалко? у вас на серверах по 256 мб и диски на 2 гига?
см. пост выше, отредактил, как это выливается в "реальные" деньги... ;)
GreenBear
06.11.2008, 15:31
да не бьет она по карману, это пересчет копеек. пример с смс вообще не в тему.
D9D9_VAD9
06.11.2008, 15:47
Не вижу смысла юзать utf-8 на русскоязычных сайтах. так что за cp1251
++Norton++
06.11.2008, 15:47
Проголосовал за utf-8. Т.к. сам сижу из под никсов, и как правильно написал UnPazz не нужно БД перекодировать.
GreenBear
06.11.2008, 15:49
Не вижу смысла юзать utf-8 на русскоязычных сайтах. так что за cp1251
тут линку на статью дали на хабре, прочитай ее и увидь смысл :)
-=lebed=-
06.11.2008, 16:04
да не бьет она по карману, это пересчет копеек. пример с смс вообще не в тему.
В расчёте на индивидума да, но если я дам объяву на билиннге: "отправте сообщение БлаБлаБлаБла" (70+1 знаков) на короткий номер XXXX я заработаю в 2 раза больше чем если бы дал отправьте сообщение BlaBlaBla (70+1 знак) то я могу заработать (теоритически) в 2 раза больше бабла, так что пример показателен. Ты спросил чем хуже (например) я ответил. Все недостатки формата можно посмотреть в Вики. Один из главных (для меня) разная длинна для разных символов... Если использовать кирилицу вместо латиницы разница действительно подскакивает в два раза, а объём имеет значение ВЕЗДЕ! В базе, на винте, в памяти, в алгоритмах обработки строковых переменных (сортировка например и т.п.) Это пока данных мало мы не заботимся об объёме, а когда их много - приходится задумываться... Для латиницы согласен - нет никакой разницы, так как до символов с кодом 128 всё идентично...
Текст может состоять из алфавитно-цифровых символов. Максимальный размер сообщения в стандарте GSM — 140 байт (1120 бит). Таким образом, при использовании 7-битной кодировки (латинский алфавит и цифры) можно отправлять сообщения длиной до 160 символов. При использовании 8-битной кодировки (немецкий, французский язык) можно отправлять сообщения длиной до 140 символов. Для поддержки других национальных алфавитов (китайского, арабского, русского и др.) используется 2-байтная кодировка UTF-16 (см. Unicode). Таким образом, SMS, написанное кириллицей, не может превышать 70 знаков.
- Вики
P.S. Т.е. уже одно то, что в кирилице я отправлю 1 сообщение короче чем в латинице уже не гуд!.
GreenBear
06.11.2008, 16:06
это заганялово
-=lebed=-
06.11.2008, 16:08
это заганялово
Угу, вижу аргументов больше нету... :)
P.S. Тоже самое касается передачи данных по сети по тарифам с подсчётом трафика, как известно он меряется в байтах, килобайтах, мегабайтах и т.д. Серфя сайты в юникоде ты заплатишь больше бабла чем в 1251. Тоже касается и хостинга с ограниченным траффиком - в юникоде он кончится быстрее чем в 1251, если используется кирилица...
GreenBear
06.11.2008, 16:09
так я уже сказал все
Смысл гонятся за меньшим размером? У вас диски по 100 мб, скорость интернета 32 кб в секунду? С использованием UTF-8 не будет проблем с MySQL, http-запросами...
-=lebed=-, читай статью внимательнее:
Во-вторых, хочется оспорить то, что страницы на utf8 имеют гораздо больший размер, чем на cp1251. Символы ASCII(латиница, арабские цифры, знаки препинания и т.д.) занимают в utf8 всего один байт, так же как и в cp1251. Таким образом при создании страниц на латинице никаких увеличений в размере страниц не наблюдается. С кириллицей — согласен. Если документ содержит только буквы русского алфавита и никаких других символов (что, согласитесь, бывает достаточно редко, ибо без html-тегов не сильно обойдешься :)) — то в UTF‑8 он действительно станет в два раза больше. А если в нём, например, поровну русских и арабских букв — в UTF‑8 он будет в два раза меньше, чем, например, в cp1251. Чаще всего — основной вес страницы составляет не html-код, а всякого рода javascript, flash, картинки, css и т.д. Тем, кто заботится о «весе», следовало бы в первую очередь выкинуть из кода подстановки для тех символов, которым они не нужны, например, — для длинного тире или для неразрывного пробела (ой, как часто я вижу это в страницах новичков). Видим, что вместо 1 знака длинного тире мы пишем 6, вместо 1 знака неразрывного пробела мы пишем 5 знаков. И где же экономия? Действительно, иногда доходит до маразма — некто упирается: «Не буду делать страницы в UTF‑8, потому что они от этого увеличиваются» — а сам при этом ваяет код с жуткими атрибутами и подстановками, который без них мог бы быть в пять раз короче.
Я за cp1251 т.к. привычнее, с utf-8 очень мало работал.
heretic1990
06.11.2008, 16:17
В UTF-8 один знак занимает от одного до четырёх байт, в зависимости от языка. для русского - два, для латиницы - 1, а во всех остальных CP-1251, KOI-8r, Cyrillic Mac, DOS всего один и соответственно размер файла меньше)) я за CP-1251, да и в привычку уже вошло))
GreenBear
06.11.2008, 16:18
привычка дело такое... тем более никаких сложностей перевести на утф8 нету.
-=lebed=-
06.11.2008, 16:19
По мне: меньше код-удобней кодировка. С html - согласен - пример не очень удачный, вот работа с удалённой базой в UTF-8, где данные в кирилице будет ощутима разница в объёме по сравнению с латиницей.
GreenBear
06.11.2008, 16:20
пиздец
heretic1990
06.11.2008, 16:21
Смысл гонятся за меньшим размером? У вас диски по 100 мб, скорость интернета 32 кб в секунду? С использованием UTF-8 не будет проблем с MySQL, http-запросами...
что правда - то правда!!!
Хотя у себя на компе предпочитаю cp1251 т.к. из под винды. Даже стандартный блокнот работает с утф8.
а какие минусы у утф8, кроме ее плюсов? Никаких.
На некоторых текстах занимет больше места. Но может и меньше занимать за счет отсутствия &xxxx; в HTML.
см. пост выше, отредактил, как это выливается в "реальные" деньги... Интересно посмотреть, как китайцы и т.д. пишут в cp1251. Расскажешь? )
Да и UTF16 там какой-то. UTF8 не 2хбайтовый.
причем в 2 раза Ты тоже матчасть учи. UTF8 не 2хбайтовый.
Вот маленький пример -
Сейчас идут споры, чтобы в России заменить "и" на "i", подсчитали примерно сколько бы было денег сэкономлено (печать и т.д.), так вот, вышли миллионы $... Вот и смотрим разницу между cp1251 и utf-8. И не говорите, что вес не имеет значения.
-=lebed=-
06.11.2008, 16:42
Даже стандартный блокнот работает с утф8.
Никаких.
На некоторых текстах занимет больше места. Но может и меньше занимать за счет отсутствия &xxxx; в HTML.
Интересно посмотреть, как китайцы и т.д. пишут в cp1251. Расскажешь? )
Да и UTF16 там какой-то. UTF8 не 2хбайтовый.
Ты тоже матчасть учи. UTF8 не 2хбайтовый.
2nerezus ты китаец? 1251 - национальная кодировка для России, речь шла про неё.
Кто говорил что UTF8 двухбайтовый? от 1 до 4 байт!
на кирилический символ уходит 2 байта и это верно!
Вот тебе два сообщения:
Пример текста
Пример текста
имхо тут сразу всё видно...
P.S. "Про какой-то UTF16" можно тут почитать: http://ru.wikipedia.org/wiki/UTF-16
1251 - национальная кодировка для России, речь шла про неё. СМС есть не только в России.
В какой кодировке должна отправляться СМС из Украины в Россию?
Подумай над этим вопросом.
Поймешь.
имхо тут сразу всё видно... Естественно. Аналогично можно привести примеры, где в cp1251 текст занимает больше. Но смысл? Общий обънм же (для веба) будет отличаться незначительно.
-=lebed=-
06.11.2008, 18:33
СМС есть не только в России.
В какой кодировке должна отправляться СМС из Украины в Россию?
Подумай над этим вопросом.
Поймешь.
Естественно. Аналогично можно привести примеры, где в cp1251 текст занимает больше. Но смысл? Общий обънм же (для веба) будет отличаться незначительно.
Дело не только в Вебе, пример с буквой i тоже наглядный, по сравнению с И в масштабе страны будет неплохая экономия на тонере, электроэнергии, краске... вот о чём идёт речь, так же и кодировкой... там экономия будет ещё больше...
По поводу кодировки SMS: Максимальный размер сообщения в стандарте GSM — 140 байт и всё, как хочешь так и кодируй, хоть в BinHEX!
В России некоторые абоненты сотовых сетей предпочитают писать SMS на родном языке, используя латинские буквы (см. транслит), что первоначально было обусловлено отсутствием поддержки кириллицы телефонными аппаратами. А с широким распространением русифицированных телефонов — привычкой, а также тем, что на латинице можно писать более длинные SMS (160 вместо 70 символов на кириллице). Например: Ura! Ya napisal pro SMS v wikipediu.
В англоязычных странах для экономии символов в SMS часто используют аббревиатуры, пропуски гласных, а также обозначают слова и слоги схожими по звучанию цифрами и буквами. Например, «C u l8r» с успехом заменяет «See you later». По данным Ассоциации GSM, первое сообщение SMS было отправлено с персонального компьютера на телефон Vodafone в Великобритании в декабре 1992 года.
Даже они экономят! Чё же говорить про нас?
И в масштабе страны будет неплохая экономия на тонере, электроэнергии, краске... вот о чём идёт речь, так же и кодировкой... там экономия будет ещё больше... На чем экономия?
Допустим, внутри страны была бы cp1251. Ну тогда просто операторы подняли бы цены на смс.
И все стало бы на свои места.
Тебе не кажется, что цены за смс-трафик(в прямом смысле слова трафик, т.е. за мегабайт, к примеру) немного неадекватны? ))
-=lebed=-
06.11.2008, 18:55
На чем экономия?
Допустим, внутри страны была бы cp1251. Ну тогда просто операторы подняли бы цены на смс.
И все стало бы на свои места.
Тебе не кажется, что цены за смс-трафик(в прямом смысле слова трафик, т.е. за мегабайт, к примеру) немного неадекватны? ))
Ну подняли или нет, это не нам судить, цены идут не за трафик в байтах а за 1 смс размером в 140 байт!
Пользуясь латиницей я могу передать больше информации за те же деньги, чем используя кирилицу, и я знаю почему это так, и поэтому я этим пользуюсь (как и многие другие). Кстати 1251 содержит и многие украинские символы, так что можно было бы передавать и в 1251.
Просто те, кто херачат СМС в национальных кодировках более чем 70 символов, попросту теряют бабло на этом и это факт неоспоримый, почему? Из-за кодировки, потому как 71 символ - это уже ДВА СМС, т.е. двойной тариф!
совмещаю обе.
вот послушал вас и теперь загрузился на тему. наверное я совсем не рационально их юзал =(
-=lebed=-, сейчас у тебя нет выбора. cp1251 ты все равно не можешь юзать %)
PandoraBox
06.11.2008, 22:56
проголосовал за Unicode UTF-8
-=lebed=-
06.11.2008, 23:06
-=lebed=-, сейчас у тебя нет выбора. cp1251 ты все равно не можешь юзать %)
Есть, я юзаю и на своём сайте и в базах и сейчас получая странички Античата в кодировке 1251 и в СМС, используя коды символов до 128 ;) (всё равно ведь коды для латиницы для основных кодировок ASCII, CP1251, UTF8 совпадают ;)
Так что выбор есть! Надо просто пользоваться, а не тупо идти на поводу тех, кто зарабатывает бабло на этом, ну скажите нахрена мне редко-используемые символы кириллицы? Посмотрите сколько там символов http://ru.wikipedia.org/wiki/Кириллица_в_Юникоде и как они выглядят!
По мне хватит и 33 (а лучше 32 - так в полубайт укладываемся) Азбука морзе - тоже весчь не плохая, можно было и ей кодировать точка - 0, тире - 1 красота! (http://ru.wikipedia.org/wiki/Азбука_Морзе)
UTF-8 избыточнена для одного национального алфавита, это видно невооружённым глазом, неспорю, что удобна в мировом масштабе для разных алфавитов, различных наций...
P.S. Ну с SMS всех обламали - это же очевидно, заложив многонациональную кодировку (в конкретном случае UTF16) а использующие латиницу нации остались в плюсе...ну и я юзаю, потому как 70 символов мне часто мало, а два СМС - жирно... ;)
GreenBear
06.11.2008, 23:11
чего ты приелся к этим смс?
-=lebed=-
06.11.2008, 23:32
чего ты приелся к этим смс?
Это лишь наглядный пример, доказываю что выбор есть... а чем хороши UTF я тут не увидел аргументов, кроме как то, что туда можно впихнуть всё нужное и не нужное...
P.S. И вообще сравнение если честно некорректное, если уж сравнивать то KOI-8R и 1251 или UTF8 и UTF16, потому как это всё равно что говорить что лучше 8 битный проц или 16-ти битный, что лучше 32 битная винда или 64 битная, что лучше 128 битный хэш или 256 битный (он не чем не лучше просто более стойкий к коллизиям, но опять же минус - больше места занимает) для каждых задач нужен свой размер, сейчас например хэш от 100 бит считается стойким, завтра от 128, после завтра от 160 и т.д. скорости, мощности растут ;)
Для кодирования кириллицы 1251 хватает "за глаза" (есть конечно проблемы, не спорю, но выгод сейчас пока больше). Юникод победит, но и другие нац. кодировки ещё жить долго будут... есть кстати ещё минусы UTF, в частности при передаче данных с потерями и восстановлении данных с помощью контрольных сумм, но не буду в это углублятся, подумайте сами...
P.S. Приведёт ли кто-нибудь плюсы UTF?
GreenBear
06.11.2008, 23:40
да никакой это не наглядный пример.
Это лишь наглядный пример, доказываю что выбор есть... Нету. Только латиница и утф8. Других стандартов нету. Поэтьому если хочешь кириллицу - то утф8 единственный вариант.
Это пример того, как цену за трафик устанавливают операторы.
С учетом рубля за смс мегабайт стоит 7.5т.р.
Больше это не служит накаким примером. Хватит путать желтое с говенным.
всегда использую cp1251 и на никсах и на винде, просто привычка)))
-=lebed=-
07.11.2008, 10:12
Поэтьому если хочешь кириллицу - то утф8 единственный вариант.
Да неужели?
2Егор перекодируй форум, а то я переключил на единственный вариант UTF8 и вижу вот это:
������� �������
(�������������: 10)
����������: Dimi4, LoneWolf666
����: ������� ������� ��������� ����. �������� ����� �����.
�� �����������: �������
Кроме перечисленных плюсов UTF-8 есть еще один - это единственная кирилическая кодировка, которую нормально поддерживают все типы мобильных телефонов. Поэтому для wap'a она используется по умолчанию!
-=lebed=-
07.11.2008, 10:59
Кроме перечисленных плюсов UTF-8 есть еще один - это единственная кирилическая кодировка
Это не кириллическая кодировка - это вариант кодирования UNICODE (одна из форм представления UNICODE).
Любая форма представления юникода (UTF) включает в себя и кириллические символы, прочем как и все остальные...
В мобилы проще было встроить поддержку юникода, чем заморачиваться с кучей национальных кодировок, что и было сделано.
Один выстрел - и куча дохлых зайцев!.
P.S. Конечно будущее в унификации, за UTF!
P.P.S. Вообще, для общения лучше использовать промежуточный язык по типу транскрипции в английском, чтоб писали звуками, а из этого будет уже понятно на каком языке идёт разговор, набор звуков ограничен, можно даже комп научить использовать эти кирпичики и при этом его произношение будет понятно человеку, причём любой нации, на любом языке...
Вывод: если нужен только русский + латиница (либо один национальный + латиница) лучше юзать однобайтовые кодировки (типа 1251, содержащая символы кириллицы). Если нужна поддержка многих языков (более двух) то лучше использовать варианты представления unicode (UTF)
если нужен только русский + латиница (либо один национальный + латиница) лучше юзать однобайтовые кодировки (типа 1251, содержащая символы кириллицы) Чем лучше?
Пока знаем только, чем хуже. А чем лучше, ты не потрудился придумать/объяснить.
-=lebed=-
07.11.2008, 12:55
Чем лучше?
Пока знаем только, чем хуже. А чем лучше, ты не потрудился придумать/объяснить.
Я уже объяснял в постах выше, велкам ту http://forum.antichat.ru/thread90784.html и ответьте мне на вопрос...
Я уже объяснял в постах выше Нет, т.к. я не согласен с теми "объяснениями", могу их опровергнуть(насчет размера). Еще доводы или "доводы" будут?)
-=lebed=-
07.11.2008, 14:41
Нет, т.к. я не согласен с теми "объяснениями", могу их опровергнуть(насчет размера). Еще доводы или "доводы" будут?)
Ты хочешь опровергнуть очевидные факты, что текст в кириллице занимает 2 байта в UTF8 против одного в CP1251?
P.S. Ты кстате, ответил мне в той теме?
P.S.S. Человек, не уважающий мнение другого (и не только мнение, а самого оппонента), а так же не предоставивщий никаких аргументов против, не заслуживает внимания для продолжения дискусии по данной теме...
Вспомнилcя анекдот:
- Чем лучше?
- Лучше чем другие...
CLOSED! (Only for me, ты не подумай... ;) )
Ты хочешь опровергнуть очевидные факты, что текст в кириллице занимает 2 байта в UTF8 против одного в CP1251? А документ у тебя только из кириллицы состоит? У меня нет. У меня в нем есть еще латиница и другие символы.
а так же не предоставивщий никаких аргументов против, не заслуживает внимания для продолжения дискусии по данной теме... Ну я сделал исключение и говорил с тобой, хоть согласно твоим принципам ты и не заслуживал моего внимания(ты сам это написал ;))
Доводы я предоставил. В т.ч. и не я(ссылка на хабр). Ты не слушаешь) Ну и ладно, хорошо, что больше не напишешь в этой теме)
Идеологическая борьба между сторонниками cp1251 и utf8 длится уже давно. Сам не раз сталкивался с разногласиями между разработчиками по поводу того, какую кодировку использовать. Захотелось наконец расставить точки над “и”. Причем хочется все достаточно хорошо обосновать, чтобы не возникало сомнений в моей голословности.
Итак, почему же до сих пор большинство разработчиков используют сp1251(windows-1251)? Это связано с рядом причин.
Во-первых, большинство php-разработчиков до сих пор разрабатывают свои программы под ОС Windows(как ни странно), где cp1251 является стандартной кодировкой и ее поддерживают все текстовые редакторы. Лично я работаю под Linux, поэтому этой причины использования cp1251 мне не понять :)… Хотя, в windows уже даже стандартный блокнот поддерживает utf8 с таким же успехом, как и cp1251.
Во-вторых, исторически сложилось так, что старые версии MySQL (до 4й) — некорректно работали с utf8. Причем операции с сортировками глючили аж до версии 4.1. Поэтому очень много продуктов, которые развивались в течение многих лет до сих пор остаются на cp1251, а новички берут с них пример.
В-третьих, как мы знаем — один символ кириллицы в cp1251 занимает 1 байт, а в utf8 — 2 байта. Как ни странно, многих это пугает :). Однако сомнения будут развеяны ниже.
Навскидку больше не смог найти причин использования cp1251.
А вот причины использовать utf8 даже искать не пришлось — они очевидны!
Во-первых, В кодировке UTF‑8 вы можете непосредственно включать в документ любые символы из всего набора Unicode. Старинные кодировки, такие как cp1251 или KOI8‑R (извинте, но они на самом деле уже старинные, ибо будущее за utf8 :)) предоставляли не более 256 символов, а в Unicode есть свыше 100 000 символов. Среди них — типографские знаки (тире, кавычки, многоточие, апостроф, неразрывный пробел, неразрывный дефис и пр.), специальные символы (№, §, ©, ‰, × и пр.), буквы с диакритическими знаками и лигатуры (é, è, Ü, Æ, ø, fi и пр.), символы почти всех существующих в мире алфавитов (α, Ω, א, ת,, 伲, 儻 и пр.), пиктограммы и значки (→, ■, ♥, ☺ и пр.) и множество других символов. Самое классное в этом всём это то, что все эти символы можно вставлять непосредственно в редакторе (из таблицы символов или с помощью горячих клавиш), что делает код куда более читабельным, нежели использование кракозяб вроде π — или π (альтернативы в cp1251).
Во-вторых, хочется оспорить то, что страницы на utf8 имеют гораздо больший размер, чем на cp1251. Символы ASCII(латиница, арабские цифры, знаки препинания и т.д.) занимают в utf8 всего один байт, так же как и в cp1251. Таким образом при создании страниц на латинице никаких увеличений в размере страниц не наблюдается. С кириллицей — согласен. Если документ содержит только буквы русского алфавита и никаких других символов (что, согласитесь, бывает достаточно редко, ибо без html-тегов не сильно обойдешься :)) — то в UTF‑8 он действительно станет в два раза больше. А если в нём, например, поровну русских и арабских букв — в UTF‑8 он будет в два раза меньше, чем, например, в cp1251. Чаще всего — основной вес страницы составляет не html-код, а всякого рода javascript, flash, картинки, css и т.д. Тем, кто заботится о «весе», следовало бы в первую очередь выкинуть из кода подстановки для тех символов, которым они не нужны, например, — для длинного тире или для неразрывного пробела (ой, как часто я вижу это в страницах новичков). Видим, что вместо 1 знака длинного тире мы пишем 6, вместо 1 знака неразрывного пробела мы пишем 5 знаков. И где же экономия? Действительно, иногда доходит до маразма — некто упирается: «Не буду делать страницы в UTF‑8, потому что они от этого увеличиваются» — а сам при этом ваяет код с жуткими атрибутами и подстановками, который без них мог бы быть в пять раз короче.
В-третьих, основное достоинство — это универсальность! Лично я не создаю свою CMS исключительно для русскоязычного сегмента рынка web-технологий. Благодаря utf-8 я могу создавать сайты без каких-либо переделок как для американцев, так и для немцев(с их буквочками вроде Ü), так и для арабов, так и для китайцев! И мне все равно, какой кодировка у них установлена, а какая нет, ибо Юникод у них установлен 100%.
В-четвертых, Юникод является стандартом для работы таких частоиспользуемых ныне фунций php, как json_encode/json_decode, а так же используемого в Ajax XHttpRequest. Причем, начиная с 6й версии PHP Юникод станет стандартом почти для всех строковых функций.
И напоследок, многие ссылаются на то, что люди постепенно переходят на utf8 потому, что “кто-то умный сказал, что это хорошо”. Соглашусь, кто-то умный это сказал уже давно, а именно — Консорциум W3C (кому-то эти 3 буквы что-то говорят? :)). И рекомендует он использовать для создания веб-страниц ни что иное, как utf8. Для тех, кто знает английский (а есть программисты, кто его не знает? :)) — можете почитать тут: www.w3.org/International/questions/qa-utf8-upgrade.en.php
Автор: Константин Юревич
Источник: php.webconsulting.by/2008/05/03/luchshaya-kodirovka-utf-8-vs-cp1251/
.:EnoT:.
07.11.2008, 16:43
Не ожидал что тема превратится в такой спор)))
Если судить по себе..то когда я ещё не работал с юникодом, делал всё только в ср1251 и меня бы спросили что я предпочитаю...я бы сказал ср1251, а про юникод знать не знаю...и началось всё с того что я решил покопаться в одном забугорном движке, который поддерживал только ср1252 (западноевропейская).
Кто-то говорил что нужно перекодировать базу данных при переводе на юникод....это исправляется одним запросом SET NAMES UTF8...правятся скрипты...но и это тоже не вызывает никаких проблем...
поэтому опять же судя по себе...возможно многие ещё сидят на ср1251 потому что не пробовали или не хотят пробовать с ней работать...поэтому утверждают что 1251 лучше...
Поработайте с UTF, поймёте что она универсальней :)
советую ещё почитать статью http://webmastak.com/article.aspx?id=300
Я Действительно не пробовал, поэтому сказал что 1251 лучше, пойду переводить движок на утф8:-)
vikseriq
07.11.2008, 18:43
Собственно, за юникодом-ютфой будующее, но есть но: на моих системах однажды что-то ютф8 глюканул - "И", "Г" и "г" стали буказябрами. И бороться с этим никак не получилось. так что хорош-то хорош, но если глюк - то облом.
ЗЫ подскажите кто, как исправить мою траблу. желательно пишите в лс - не мутите топик )
не пробовал, поэтому сказал что *** лучше фу таким быть.
Я просто не знаю КАК? надо файлы сохранять по другому, или просто при подключении к бд и в заголовках?
.:EnoT:.
07.11.2008, 23:45
Я просто не знаю КАК? надо файлы сохранять по другому, или просто при подключении к бд и в заголовках?
файлы сохраняешь не в ANSI, а в UTF и всё...базу можешь оставить в cp1251 (ну лучше конечно перевести на юникод...но перекодировать заебёшься)....ну и при подключении к базе использовать кодировку utf...вот и всё )) ничего сложного.
vikseriq
08.11.2008, 00:05
Аха, потом зайти в пхпмайодмин и увидеть вместо свежего поста кракозыбры ) (бывает - браузер кодировки смешанные не любит.)
.:EnoT:.
08.11.2008, 00:12
Аха, потом зайти в пхпмайодмин и увидеть вместо свежего поста кракозыбры ) (бывает - браузер кодировки смешанные не любит.)
ничё подобного...если ты будешь заносить данные в нужной кодировке ничего подобного не будет
vikseriq
08.11.2008, 00:14
Вот то-то и оно!
Ладно, так что лучше? Имхо UTF-8 )
Аха, потом зайти в пхпмайодмин и увидеть вместо свежего поста кракозыбры ) (бывает - браузер кодировки смешанные не любит.)
вот аргумент так аргумент!
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot