За последние 24 часа нас посетили 15579 программистов и 1554 робота. Сейчас ищут 943 программиста ...

jquery + ajax метод load передача заголовка header

Тема в разделе "JavaScript и AJAX", создана пользователем qwert_ukg, 4 май 2011.

  1. qwert_ukg

    qwert_ukg Активный пользователь

    С нами с:
    20 июл 2010
    Сообщения:
    387
    Симпатии:
    0
    Адрес:
    Алмата
    Load возвращает данные в блок, но кодировка не та. указал
    PHP:
    1. <?php
    2. header("content: text/html");
    3. header("Accept-Charset: windows-1251");
    4. ?>
    но всеравно каракули в карзине
    смотреть тут

    http://zamanpharm.kz/dub/templates/bt_okto/2!!!.php
     
  2. qwert_ukg

    qwert_ukg Активный пользователь

    С нами с:
    20 июл 2010
    Сообщения:
    387
    Симпатии:
    0
    Адрес:
    Алмата
  3. Alex_pac

    Alex_pac Активный пользователь

    С нами с:
    11 апр 2011
    Сообщения:
    285
    Симпатии:
    1
    Адрес:
    Россия, Тольятти
    ajax и windows-1251

    это геморой, начиная от функции encodeURIComponent в javascript и заканчивая json_decode / encode внутри php, которая с windows-1251 не работает

    так что прочитайте статью и впишитесь в общество ценителей UTF8
     
  4. titch

    titch Активный пользователь

    С нами с:
    18 дек 2010
    Сообщения:
    847
    Симпатии:
    0
    общество ценителей UTF8 - это такое же общество ценителей мыть с мылом. вроде бы помоешь - и всё чисто. но моешь голову мылом месяц, а потом бац! а почему это у меня волосы пересушены?..
     
  5. Alex_pac

    Alex_pac Активный пользователь

    С нами с:
    11 апр 2011
    Сообщения:
    285
    Симпатии:
    1
    Адрес:
    Россия, Тольятти
    titch

    что вы этим хотели сказать?
    что кодировка utf8 не универсальна? и в каких то задачах они дает сбои так же как и windows1251 при использовании ajax?

    относительно ajax скажу точно. если не использовать utf8, то вас ждут непредвиденные трудности.

    я имеено изза ajax перешел на кодировку utf8. До этого пользовался windows1251, и даже создал пару костылей которые решали проблему
    ajax->windows1251
    однако когда увидел что ajax может работать без костылей на кодировке utf8 то пришлось признать, что utf8 это стандарт для сайтов.
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    titch
    никак йода магистр посетил тебя туалете в
    загадками говорить стал ты
     
  7. titch

    titch Активный пользователь

    С нами с:
    18 дек 2010
    Сообщения:
    847
    Симпатии:
    0
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    titch
    это зачем? О_О
     
  9. titch

    titch Активный пользователь

    С нами с:
    18 дек 2010
    Сообщения:
    847
    Симпатии:
    0
    затем, что там есть метод, который проверяет, кодирована ли строка в utf8. если нет, то принудительно кодируем в utf8. PROFIT!
    кодировать можно той же библиотекой, это логично
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    омг. а там нет метода, чтобы проверить, не забыл ли голову дома? тем, кому нужен тот метод, наверняка понадобится и этот.
     
  11. titch

    titch Активный пользователь

    С нами с:
    18 дек 2010
    Сообщения:
    847
    Симпатии:
    0
    PHP:
    1. <?
    2. /**
    3.  * Returns true if data is valid UTF-8 and false otherwise.
    4.  * Для значений null, integer, float, boolean возвращает TRUE.
    5.  *
    6.  * Массивы обходятся рекурсивно, если в хотябы одном элементе массива
    7.  * его значение не в кодировке UTF-8, возвращается FALSE.
    8.  *
    9.  * @link    [url=http://www.w3.org/International/questions/qa-forms-utf-8.html]http://www.w3.org/International/questio ... utf-8.html[/url]
    10.  * @link    [url=http://ru3.php.net/mb_detect_encoding]http://ru3.php.net/mb_detect_encoding[/url]
    11.  * @link    [url=http://webtest.philigon.ru/articles/utf8/]http://webtest.philigon.ru/articles/utf8/[/url]
    12.  * @link    [url=http://unicode.coeurlumiere.com/]http://unicode.coeurlumiere.com/[/url]
    13.  * @param   array|scalar|null  $data
    14.  * @param   bool               $is_strict  строгая проверка диапазона ASCII?
    15.  * @return  bool
    16.  */
    17. public static function is_utf8($data, $is_strict = true);
    зря стебешься) это против барабах. если ты не можешь воткнуть, в каком формате передаются параметры get к примеру. разные праузеры по разному отдают. я как раз думал по этому поводу писать статью на хабру
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    titch
    я как раз думал по этому поводу писать статью на хабру
    Давай. А я как раз познакомлю вас с УТФ Джо.

    *на сцену выходит приятный мужчина в костюме:*

    - Добрый день. Вы наверное обо мне слышали. Разрешите представиться: я - УТФ Джо. Я работаю с текстом только в кодировке UTF8. Спасибо за внимание. Досвидания! До скорых встреч!

    *мужчина ловко разворачивается на каблучке и исчезает за занавесом*
     
  13. Alex_pac

    Alex_pac Активный пользователь

    С нами с:
    11 апр 2011
    Сообщения:
    285
    Симпатии:
    1
    Адрес:
    Россия, Тольятти
    пример таких ситуаций. что как было и где.
     
  14. titch

    titch Активный пользователь

    С нами с:
    18 дек 2010
    Сообщения:
    847
    Симпатии:
    0
    для эксперимента попробуйте скопировать строку в разные браузеры и набрать её же руками в запрос:
    http://example.com/?язык=русский&раздел=новости
    только хром, на сколько я помню, сумел корректно отработать в обоих случаях. кто-то из браузеров отдает и в одном и втором случае в нативной кодировке системы (и это хорошо, если UTF-8), а есть очень запущенные случаи, когда копипаста отдаётся в одной кодировке, а набранный с клавиатуры запрос - в другой. допишу статью - могу сделать репост линки сюда на форум. думаю, что завтра этим и займусь

    зы: форумный парсер даже зохавать такое не смог. когда завернул в тоже отказался это есть
     
  15. qwert_ukg

    qwert_ukg Активный пользователь

    С нами с:
    20 июл 2010
    Сообщения:
    387
    Симпатии:
    0
    Адрес:
    Алмата
    я бы с радостью но у меня база в 40 гб на 1251 а переводить ее в утф8 тяги нет
     
  16. titch

    titch Активный пользователь

    С нами с:
    18 дек 2010
    Сообщения:
    847
    Симпатии:
    0
    qwert_ukg, и правильно. иначе все текстовые поля подрастут - база станет еще больше
     
  17. Alex_pac

    Alex_pac Активный пользователь

    С нами с:
    11 апр 2011
    Сообщения:
    285
    Симпатии:
    1
    Адрес:
    Россия, Тольятти
    вообщем нужна функция которая бы опредяла что это utf8/windows1251 и конвертировала ее в кодировку
    windows1251/utf8 вне зависимости от того установлены расширения mb string и iconv в php

    и как titch сказал ее уже реализовали.

    я тут провел некоторые тесты.

    решением проблемы jquery->ajax->windows1251 является преобразование на стороне сервера принимаемых ajax запросов в кодировку из utf8 в кодировку windows1251

    поскольку encodeURIComponent кодирует все что она получает в кодировку стандарта UTF

    ЭТо и понятно. все GET параметры находящиеся в URL должны быть в кодировке UTF . Унификация и стандартизация прежде всего.
     
  18. qwert_ukg

    qwert_ukg Активный пользователь

    С нами с:
    20 июл 2010
    Сообщения:
    387
    Симпатии:
    0
    Адрес:
    Алмата
  19. qwert_ukg

    qwert_ukg Активный пользователь

    С нами с:
    20 июл 2010
    Сообщения:
    387
    Симпатии:
    0
    Адрес:
    Алмата
    PHP:
    1. function Encode ( $str, $type )
    2. { // $type: 'w' - encodes from UTF to win 'u' - encodes from win to UTF
    3. static $conv='';
    4. if (!is_array ( $conv )){
    5. $conv=array ();
    6. for ( $x=128; $x <=143; $x++ ){
    7. $conv['utf'][]=chr(209).chr($x);
    8. $conv['win'][]=chr($x+112);
    9. }
    10. for ( $x=144; $x <=191; $x++ ){
    11. $conv['utf'][]=chr(208).chr($x);
    12. $conv['win'][]=chr($x+48);
    13. }
    14. $conv['utf'][]=chr(208).chr(129);
    15. $conv['win'][]=chr(168);
    16. $conv['utf'][]=chr(209).chr(145);
    17. $conv['win'][]=chr(184);
    18. }
    19. if ( $type=='w' ) return str_replace ( $conv['utf'], $conv['win'], $str );
    20. elseif ( $type=='u' ) return str_replace ( $conv['win'], $conv['utf'], $str );
    21. else return $str;
    22. }
    рабочий вариант от сюда http://forum.woweb.ru/topic34400.html
     
  20. Alex_pac

    Alex_pac Активный пользователь

    С нами с:
    11 апр 2011
    Сообщения:
    285
    Симпатии:
    1
    Адрес:
    Россия, Тольятти
    чета оно в windows1251 кодирует а обратно косяки одни.

    PHP:
    1.  
    2. <?php
    3. #utf8 document
    4.  
    5. print Encode (Encode ('Привет мир', 'w'), 'u');
    6.  
    7.  
     
  21. qwert_ukg

    qwert_ukg Активный пользователь

    С нами с:
    20 июл 2010
    Сообщения:
    387
    Симпатии:
    0
    Адрес:
    Алмата
    а я обратно не пробывал))
     
  22. Alex_pac

    Alex_pac Активный пользователь

    С нами с:
    11 апр 2011
    Сообщения:
    285
    Симпатии:
    1
    Адрес:
    Россия, Тольятти
    вот велосипед:

    PHP:
    1.  
    2. <?php
    3. #windows 1251 document
    4.  
    5. function Encode($str, $code) {
    6. # $code = 'u' - win to utf. $code = 'w' - utf to win
    7.  
    8. $uc = array(
    9.     128 => chr(208).chr(130),
    10.     129 => chr(208).chr(131),
    11.     130 => chr(226).chr(128).chr(154),
    12.     131 => chr(209).chr(147),
    13.     132 => chr(226).chr(128).chr(158),
    14.     133 => chr(226).chr(128).chr(166),
    15.     134 => chr(226).chr(128).chr(160),
    16.     135 => chr(226).chr(128).chr(161),
    17.     136 => chr(226).chr(130).chr(172),
    18.     137 => chr(226).chr(128).chr(176),
    19.     138 => chr(208).chr(137),
    20.     139 => chr(226).chr(128).chr(185),
    21.     140 => chr(208).chr(138),
    22.     141 => chr(208).chr(140),
    23.     142 => chr(208).chr(139),
    24.     143 => chr(208).chr(143),
    25.     144 => chr(209).chr(146),
    26.     145 => chr(226).chr(128).chr(152),
    27.     146 => chr(226).chr(128).chr(153),
    28.     147 => chr(226).chr(128).chr(156),
    29.     148 => chr(226).chr(128).chr(157),
    30.     149 => chr(226).chr(128).chr(162),
    31.     150 => chr(226).chr(128).chr(147),
    32.     151 => chr(226).chr(128).chr(148), //152 null
    33.     153 => chr(226).chr(132).chr(162),
    34.     154 => chr(209).chr(153),
    35.     155 => chr(226).chr(128).chr(186),
    36.     156 => chr(209).chr(154),
    37.     157 => chr(209).chr(156),
    38.     158 => chr(209).chr(155),
    39.     159 => chr(209).chr(159),
    40.     160 => chr(194).chr(160),
    41.     161 => chr(208).chr(142),
    42.     162 => chr(209).chr(158),
    43.     163 => chr(208).chr(136),
    44.     164 => chr(194).chr(164),
    45.     165 => chr(210).chr(144),
    46.     166 => chr(194).chr(166),
    47.     167 => chr(194).chr(167),
    48.     168 => chr(208).chr(129),
    49.     169 => chr(194).chr(169),
    50.     170 => chr(208).chr(132),
    51.     171 => chr(194).chr(171),
    52.     172 => chr(194).chr(172),
    53.     173 => chr(194).chr(173),
    54.     174 => chr(194).chr(174),
    55.     175 => chr(208).chr(135),
    56.     176 => chr(194).chr(176),
    57.     177 => chr(194).chr(177),
    58.     178 => chr(208).chr(134),
    59.     179 => chr(209).chr(150),
    60.     180 => chr(210).chr(145),
    61.     181 => chr(194).chr(181),
    62.     182 => chr(194).chr(182),
    63.     183 => chr(194).chr(183),
    64.     184 => chr(209).chr(145),
    65.     185 => chr(226).chr(132).chr(150),
    66.     186 => chr(209).chr(148),
    67.     187 => chr(194).chr(187),
    68.     188 => chr(209).chr(152),
    69.     189 => chr(208).chr(133),
    70.     190 => chr(209).chr(149),
    71.     191 => chr(209).chr(151),
    72.     192 => chr(208).chr(144),
    73.     193 => chr(208).chr(145),
    74.     194 => chr(208).chr(146),
    75.     195 => chr(208).chr(147),
    76.     196 => chr(208).chr(148),
    77.     197 => chr(208).chr(149),
    78.     198 => chr(208).chr(150),
    79.     199 => chr(208).chr(151),
    80.     200 => chr(208).chr(152),
    81.     201 => chr(208).chr(153),
    82.     202 => chr(208).chr(154),
    83.     203 => chr(208).chr(155),
    84.     204 => chr(208).chr(156),
    85.     205 => chr(208).chr(157),
    86.     206 => chr(208).chr(158),
    87.     207 => chr(208).chr(159),
    88.     208 => chr(208).chr(160),
    89.     209 => chr(208).chr(161),
    90.     210 => chr(208).chr(162),
    91.     211 => chr(208).chr(163),
    92.     212 => chr(208).chr(164),
    93.     213 => chr(208).chr(165),
    94.     214 => chr(208).chr(166),
    95.     215 => chr(208).chr(167),
    96.     216 => chr(208).chr(168),
    97.     217 => chr(208).chr(169),
    98.     218 => chr(208).chr(170),
    99.     219 => chr(208).chr(171),
    100.     220 => chr(208).chr(172),
    101.     221 => chr(208).chr(173),
    102.     222 => chr(208).chr(174),
    103.     223 => chr(208).chr(175),
    104.     224 => chr(208).chr(176),
    105.     225 => chr(208).chr(177),
    106.     226 => chr(208).chr(178),
    107.     227 => chr(208).chr(179),
    108.     228 => chr(208).chr(180),
    109.     229 => chr(208).chr(181),
    110.     230 => chr(208).chr(182),
    111.     231 => chr(208).chr(183),
    112.     232 => chr(208).chr(184),
    113.     233 => chr(208).chr(185),
    114.     234 => chr(208).chr(186),
    115.     235 => chr(208).chr(187),
    116.     236 => chr(208).chr(188),
    117.     237 => chr(208).chr(189),
    118.     238 => chr(208).chr(190),
    119.     239 => chr(208).chr(191),
    120.     240 => chr(209).chr(128),
    121.     241 => chr(209).chr(129),
    122.     242 => chr(209).chr(130),
    123.     243 => chr(209).chr(131),
    124.     244 => chr(209).chr(132),
    125.     245 => chr(209).chr(133),
    126.     246 => chr(209).chr(134),
    127.     247 => chr(209).chr(135),
    128.     248 => chr(209).chr(136),
    129.     249 => chr(209).chr(137),
    130.     250 => chr(209).chr(138),
    131.     251 => chr(209).chr(139),
    132.     252 => chr(209).chr(140),
    133.     253 => chr(209).chr(141),
    134.     254 => chr(209).chr(142),
    135.     255 => chr(209).chr(143));
    136.  
    137.  
    138. $wc = array(
    139. 128 => chr(1).chr(128),
    140. 129 => chr(1).chr(129),
    141. 130 => chr(1).chr(130),
    142. 131 => chr(1).chr(131),
    143. 132 => chr(1).chr(132),
    144. 133 => chr(1).chr(133),
    145. 134 => chr(1).chr(134),
    146. 135 => chr(1).chr(135),
    147. 136 => chr(1).chr(136),
    148. 137 => chr(1).chr(137),
    149. 138 => chr(1).chr(138),
    150. 139 => chr(1).chr(139),
    151. 140 => chr(1).chr(140),
    152. 141 => chr(1).chr(141),
    153. 142 => chr(1).chr(142),
    154. 143 => chr(1).chr(143),
    155. 144 => chr(1).chr(144),
    156. 145 => chr(1).chr(145),
    157. 146 => chr(1).chr(146),
    158. 147 => chr(1).chr(147),
    159. 148 => chr(1).chr(148),
    160. 149 => chr(1).chr(149),
    161. 150 => chr(1).chr(150),
    162. 151 => chr(1).chr(151), //152 null
    163. 153 => chr(1).chr(153),
    164. 154 => chr(1).chr(154),
    165. 155 => chr(1).chr(155),
    166. 156 => chr(1).chr(156),
    167. 157 => chr(1).chr(157),
    168. 158 => chr(1).chr(158),
    169. 159 => chr(1).chr(159),
    170. 160 => chr(1).chr(160),
    171. 161 => chr(1).chr(161),
    172. 162 => chr(1).chr(162),
    173. 163 => chr(1).chr(163),
    174. 164 => chr(1).chr(164),
    175. 165 => chr(1).chr(165),
    176. 166 => chr(1).chr(166),
    177. 167 => chr(1).chr(167),
    178. 168 => chr(1).chr(168),
    179. 169 => chr(1).chr(169),
    180. 170 => chr(1).chr(170),
    181. 171 => chr(1).chr(171),
    182. 172 => chr(1).chr(172),
    183. 173 => chr(1).chr(173),
    184. 174 => chr(1).chr(174),
    185. 175 => chr(1).chr(175),
    186. 176 => chr(1).chr(176),
    187. 177 => chr(1).chr(177),
    188. 178 => chr(1).chr(178),
    189. 179 => chr(1).chr(179),
    190. 180 => chr(1).chr(180),
    191. 181 => chr(1).chr(181),
    192. 182 => chr(1).chr(182),
    193. 183 => chr(1).chr(183),
    194. 184 => chr(1).chr(184),
    195. 185 => chr(1).chr(185),
    196. 186 => chr(1).chr(186),
    197. 187 => chr(1).chr(187),
    198. 188 => chr(1).chr(188),
    199. 189 => chr(1).chr(189),
    200. 190 => chr(1).chr(190),
    201. 191 => chr(1).chr(191),
    202. 192 => chr(1).chr(192),
    203. 193 => chr(1).chr(193),
    204. 194 => chr(1).chr(194),
    205. 195 => chr(1).chr(195),
    206. 196 => chr(1).chr(196),
    207. 197 => chr(1).chr(197),
    208. 198 => chr(1).chr(198),
    209. 199 => chr(1).chr(199),
    210. 200 => chr(1).chr(200),
    211. 201 => chr(1).chr(201),
    212. 202 => chr(1).chr(202),
    213. 203 => chr(1).chr(203),
    214. 204 => chr(1).chr(204),
    215. 205 => chr(1).chr(205),
    216. 206 => chr(1).chr(206),
    217. 207 => chr(1).chr(207),
    218. 208 => chr(1).chr(208),
    219. 209 => chr(1).chr(209),
    220. 210 => chr(1).chr(210),
    221. 211 => chr(1).chr(211),
    222. 212 => chr(1).chr(212),
    223. 213 => chr(1).chr(213),
    224. 214 => chr(1).chr(214),
    225. 215 => chr(1).chr(215),
    226. 216 => chr(1).chr(216),
    227. 217 => chr(1).chr(217),
    228. 218 => chr(1).chr(218),
    229. 219 => chr(1).chr(219),
    230. 220 => chr(1).chr(220),
    231. 221 => chr(1).chr(221),
    232. 222 => chr(1).chr(222),
    233. 223 => chr(1).chr(223),
    234. 224 => chr(1).chr(224),
    235. 225 => chr(1).chr(225),
    236. 226 => chr(1).chr(226),
    237. 227 => chr(1).chr(227),
    238. 228 => chr(1).chr(228),
    239. 229 => chr(1).chr(229),
    240. 230 => chr(1).chr(230),
    241. 231 => chr(1).chr(231),
    242. 232 => chr(1).chr(232),
    243. 233 => chr(1).chr(233),
    244. 234 => chr(1).chr(234),
    245. 235 => chr(1).chr(235),
    246. 236 => chr(1).chr(236),
    247. 237 => chr(1).chr(237),
    248. 238 => chr(1).chr(238),
    249. 239 => chr(1).chr(239),
    250. 240 => chr(1).chr(240),
    251. 241 => chr(1).chr(241),
    252. 242 => chr(1).chr(242),
    253. 243 => chr(1).chr(243),
    254. 244 => chr(1).chr(244),
    255. 245 => chr(1).chr(245),
    256. 246 => chr(1).chr(246),
    257. 247 => chr(1).chr(247),
    258. 248 => chr(1).chr(248),
    259. 249 => chr(1).chr(249),
    260. 250 => chr(1).chr(250),
    261. 251 => chr(1).chr(251),
    262. 252 => chr(1).chr(252),
    263. 253 => chr(1).chr(253),
    264. 254 => chr(1).chr(254),
    265. 255 => chr(1).chr(255));
    266.  
    267. if ($code == 'u') { //win to utf
    268.     $str = preg_replace ('/(['.chr(128).'-'.chr(255).'])/', chr(1).'$1', $str);
    269.     $str = str_replace($wc, $uc,$str);
    270.     return $str;
    271. } else { //utf8 to win
    272.     $wc = array_slice(explode(chr(1),implode('',$wc)),1);
    273.     return str_replace($uc, $wc, $str);
    274. }}
    275.  
    276. //тест функции
    277.  
    278.  
    279.  
    280. print Encode('Во-первых, В кодировке UTF-8 вы можете непосредственно включать в документ любые символы из всего набора Unicode. Старинные кодировки, такие как cp1251 или KOI8?R (извинте, но они на самом деле уже старинные, ибо будущее за utf8 :)) предоставляли не более 256 символов, а в Unicode есть свыше 100 000 символов. Среди них — типографские знаки (тире, кавычки, многоточие, апостроф, неразрывный пробел, неразрывный дефис и пр.), специальные символы (№, §, ©, ‰, ? и пр.), буквы с диакритическими знаками и лигатуры (e, e, U, ?, o, ? и пр.), символы почти всех существующих в мире алфавитов (?, ?, ?, ?,, ?, ? и пр.), пиктограммы и значки (>, ¦, ¦, O и пр.) и множество других символов. Самое классное в этом всём это то, что все эти символы можно вставлять непосредственно в редакторе (из таблицы символов или с помощью горячих клавиш), что делает код куда более читабельным, нежели использование кракозяб вроде ? — или ? (альтернативы в cp1251).
    281.  
    282. Во-вторых, хочется оспорить то, что страницы на utf8 имеют гораздо больший размер, чем на cp1251. Символы ASCII(латиница, арабские цифры, знаки препинания и т.д.) занимают в utf8 всего один байт, так же как и в cp1251. Таким образом при создании страниц на латинице никаких увеличений в размере страниц не наблюдается. С кириллицей — согласен. Если документ содержит только буквы русского алфавита и никаких других символов (что, согласитесь, бывает достаточно редко, ибо без html-тегов не сильно обойдешься :)) — то в UTF?8 он действительно станет в два раза больше. А если в нём, например, поровну русских и арабских букв — в UTF?8 он будет в два раза меньше, чем, например, в cp1251. Чаще всего — основной вес страницы составляет не html-код, а всякого рода javascript, flash, картинки, css и т.д. Тем, кто заботится о «весе», следовало бы в первую очередь выкинуть из кода подстановки для тех символов, которым они не нужны, например, — для длинного тире или для неразрывного пробела (ой, как часто я вижу это в страницах новичков). Видим, что вместо 1 знака длинного тире мы пишем 6, вместо 1 знака неразрывного пробела мы пишем 5 знаков. И где же экономия? Действительно, иногда доходит до маразма — некто упирается: «Не буду делать страницы в UTF?8, потому что они от этого увеличиваются» — а сам при этом ваяет код с жуткими атрибутами и подстановками, который без них мог бы быть в пять раз короче.
    283.  
    284. В-третьих, основное достоинство — это универсальность! Лично я не создаю свою CMS исключительно для русскоязычного сегмента рынка web-технологий. Благодаря utf-8 я могу создавать сайты без каких-либо переделок как для американцев, так и для немцев(с их буквочками вроде U), так и для арабов, так и для китайцев! И мне все равно, какой кодировка у них установлена, а какая нет, ибо Юникод у них установлен 100%.
    285.  
    286. В-четвертых, Юникод является стандартом для работы таких частоиспользуемых ныне фунций php, как json_encode/json_decode, а так же используемого в Ajax XHttpRequest. Причем, начиная с 6й версии PHP Юникод станет стандартом почти для всех строковых функций.
    287.  
    288. И напоследок, многие ссылаются на то, что люди постепенно переходят на utf8 потому, что “кто-то умный сказал, что это хорошо”. Соглашусь, кто-то умный это сказал уже давно, а именно — Консорциум W3C (кому-то эти 3 буквы что-то говорят? :)). И рекомендует он использовать для создания веб-страниц ни что иное, как utf8. Для тех, кто знает английский (а есть программисты, кто его не знает? :)) — можете почитать вот тут.'
    289. ,'u'); //win to utf
    290.  
    для этого текста ~ быстродействие 0.00443 сек win to utf
    для этого текста ~ быстродействиe 0.00276 сек utf to win
    iconv utf8=>win ~ быстродействиe 0,000081 сек

    велосипед тормознее в ~ 35-50 раз чем iconv
     
  23. qwert_ukg

    qwert_ukg Активный пользователь

    С нами с:
    20 июл 2010
    Сообщения:
    387
    Симпатии:
    0
    Адрес:
    Алмата
    у меня iconv не работает
     
  24. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    в случае запроса страницы можно тупо поискать в нескольких вариантах

    плюс к тому можно посмотреть агента и от этого плясать