?

Log in

No account? Create an account
tech

utf и 8-битные кодировки в системе

А ведь пока нету родной поддержки юникода в php, в системах, поддерживающих и utf8 и обычные кодировки, приходится оборачивать функции манипулирования строками примерно так:

<?php
function mysysytemStrToLower($str)
{
  
$localeData=mysysytemApplication::getConfigVal('/system/localeData');
  if (isset(
$localeData['isMultiByte'])){
    return 
mb_strtolower ($str$localeData['encoding']);
  }
  return 
strtolower($str);
}

Comments

Зачем нужна система поддерживающая разные кодировки? В смысле придумать я и сам могу, но чтобы нельзя было без этого обойтись не могу придумать.
Там следующим постом мо BullDoc объявлен в релиз. Легко могут быть люди которым надо и так и эдак, и тем более есть которые одним так, а другим эдак :)
В смысле? Зачем нужны другие кодировки, если есть UTF? У меня встречалось такое только раз. Мой движок был на UTF-8, а форум, который я присобачил, работает только на win-1251 (писал не я). В остальных случаях, если нет необходимости пристраивать что-то сбоку, зачем?
Как бы если бы я сделал этот проект и только я им и пользовался, то низачем. А так есть люди которые не любят пока еще утф. Это в онлайне не заметно в чем кодировка, а когда распространяешь скрипт, человеку не все равно в какой кодировке его текстовые файлы.

И еще вот такой нюанс -- моя версия TortoiseSVN (не очень старая, где-то полугодичной давности) не умеет показывать изменения в текстовом файле в utf. А если я храню доку в SVN и хочу смотреть что где поменялось за последнюю неделю, то мне это важно. Может этого уже нет и все шоколадно? Надо будет глянуть.
Грабли знакомые...

У меня тут вообще феерическое и тоже в пхп - ajax запрос вешает апач под виндой. На никсах все в порядке. Но если до вызова аякса поставить alert('что-то там')висяк отменяется. Да, мне сейчас тоже смешно, но полтора дня убитые на это немного жаль...

А если вернуться к теме - то сейчас приходится решать как совместить jquery-аjax, который в уникоде со всем остальным, написанным на cp1251. iconv не справляется, возвращает ошибку разбора, переписать все остальное - титанический труд на годы. Прямо не знаю что делать... Есть ли способ сделать utf_to_win ручками?
и еще вот какая штука -- канонический компайлер в CHM от Microsoft не понимает utf. А я хочу, что бы система собирала и такие документы.
Ясно. У вас частный случай для конкретной системы.