![]() |
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]() ![]() ![]() |
|
numerovan |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 549 Регистрация: 1.12.2007 Репутация: -1 Всего: 2 |
Ситуация такая ... мне нужно сделать сайт на двух языках : на немецком и на русском . В немецком алфавите есть так называемые УМЛАУТЫ , utf-8 их хорошо различает, а вот в windows-1251 проблема , но есть замена их на "Ä" и т.д.. В utf-8 кириллица весит в 2 раза больше чем на windows-1251, поэтому не хочу ради 5 символов менять кодировку.
Я сделал следующее : имеется строка с этими УМЛАУТАМИ , строку перевожу с помощью bin2hex() , от тудова по поду символа заменяю на "Ä" и т.д. ... а после хочу обратно строку в нормальный вид перекодировать, но что т не получается ... Можно конечно посимвольно распознать и заменить, боюсь что нагрузка на сервер будет хорошая. НЕ ПОДСКАЖЕТЕ МОЖЕТ ЕСТЬ КАКАЯ НИБУДЬ ФУНКЦИЯ , КОТОРАЯ ПРЕОБРАЗОВЫВАЕТ В ЧИТАБЕЛЬНЫЙ ВИД ? Вот что у меня есть :
|
|||
|
||||
youri |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: нет Всего: 16 |
расслабься и используй utf-8 ;)
|
|||
|
||||
numerovan |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 549 Регистрация: 1.12.2007 Репутация: -1 Всего: 2 |
Скажу почему я не хочу использовать utf-8, потому что она увеличивает кириллицу, а у меня там кириллицы будет очень много ... ради нескольких символов не хочится жертвовать дисковым пространством. Да дело даже и не в пространстве ... просто реально интересно ... А МОЖНО ЛИ ПЕРЕКОНВЕРТИРОВАТЬ ... если так , то почему бы и нет ?
|
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 1 Всего: 37 |
Очень смешная причина не исползовать UTF. Дисковое пространство просто трещит по швам.
|
|||
|
||||
Wolf1994 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 1 Всего: 29 |
Попробуйте заменять оригинальные символы, без перевода в шестнадцатеричный формат.
|
|||
|
||||
numerovan |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 549 Регистрация: 1.12.2007 Репутация: -1 Всего: 2 |
Мужики, я понимаю Вам смешно от этой ситуацией , но как говориться ЗАЧЕМ ПЛАТИТЬ БОЛЬШЕ, КОГДА МОЖНО ЗАПЛАТИТЬ МЕНЬШЕ ... я так к слову ...
"Попробуйте заменять оригинальные символы, без перевода в шестнадцатеричный формат" - функция bin2hex() кодирует ВСЮ строку сразу, после я могу выследить эти УМЛАУТЫ , по другому не вижу способа для отслежки. Хотя можно и по символьно отслеживать и заменять ... ну вот встречный ворос КАК ЭТО БУДЕТ ВЛИЯТЬ НА РЕСУРСЫ СЕРВЕРА ? Помоему чтоб отследиь посимвольно это идея ... )) КТО НИБУДЬ ЗНАЕТ КАК ПРОВЕРЯТЬ КОД НА ПРОИЗВОДИТЕЛЬНОСТЬ ? Т.Е. Я НАПИСАЛ КОД, ДОПУСТИМ, И МНЕ ПО ВРЕМЯНИ ПОКАЗЫВАТЬСЯ ЧТО ОН ВЫПОЛНИЛСЯ ДОМУСТИМ В 0.5 СЕК , ДАЛЕЕ ПЕРЕПЕСАЛ КОД , В ЛУЧШУЮ СТОРОНУ И МНЕ ПОКАЗЫВАТЬСЯ ЧТО КОД ВЫПОЛНИЛСЯ ЗА 0.2 СЕК .... КТО ЗНАЕТ КАК ТАК СДЕЛАТЬ ? |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 2 Всего: 315 |
||||
|
||||
numerovan |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 549 Регистрация: 1.12.2007 Репутация: -1 Всего: 2 |
В итоге будет сайт знакомств ... где русскоязычные будут пополнять базу своими сообщениями и через год эта база будет весить в 2 раза больше нежели если было бы всё в кодировке windows-1251, а не в utf-8 ... из-за этого я так говорю. Добавлено через 1 минуту и 6 секунд ЕСТЬ КАКАЯ НИБУДЬ ФУНКЦИЯ , КОТОРАЯ ПРЕОБРАЗОВЫВАЕТ В ЧИТАБЕЛЬНЫЙ ВИД ? |
|||
|
||||
NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 1 Всего: 19 |
Для сайта знакомств все же лучше использовать utf.
Вдруг пользователю захочется написать сообщение на китайском или зимбабвянском? Кроме того, если я не ошибаюсь, если поставить на страницу кодировку windows-1251, то "ü" , "ö" , "ä" будут приходить без точек, а вместо ß будет приходить пробел. Это сообщение отредактировал(а) NLspieler - 25.10.2009, 07:44 |
|||
|
||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 2 Всего: 315 |
я спрашивал не про объёмы на жёстком диске, а про "платить". по моему всем этим гемором ты уже платишь больше, чем пришлось бы с ютф. мало того, за впоследствии возникающие косяки тоже придётся расплачиваться. если бы ты нанимал работника за настоящую деньгу, а не транжирил собственное время, то я думаю для тебя вопрос решился бы быстро. за что платить больше |
|||
|
||||
Bishop |
|
||||||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 3.6.2005 Где: Минск, Беларусь Репутация: нет Всего: 16 |
numerovan,
судя по приведенному коду, вы вообще не понимаете, что в нем происходит. Почему вы тогда не пишете просто:
Хотя ищете вы похоже такой выход:
отрицательно
не в два. Экономя дисковые ресурсы, вы тратите больше ресурсов процессора. При этом ограничиваете себя и пользователей.
а потом вы вспомните про украинский алфавит, где тоже всего-то два (не знаю сколько) символа дополнительных, потом белорусский… Самое главное: пользователь с немецким интерфейсом не сможет общаться с пользователем с русским интерфейсом ни на каком языке. Но зачем я это вам рассказываю. Главное для вас место на диске — решение я привел выше. Правильный же ответ уже озвучен: использовать utf8. Это сообщение отредактировал(а) Bishop - 25.10.2009, 14:03 |
||||||||||
|
|||||||||||
MoLeX |
|
||||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: нет Всего: 140 |
Это сообщение отредактировал(а) MoLeX - 26.10.2009, 07:28 -------------------- Amazing ![]() |
||||
|
|||||
numerovan |
|
||||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 549 Регистрация: 1.12.2007 Репутация: -1 Всего: 2 |
Всё мужики понятно ... Правильно подметили что ещё и украинский там о своём даёт знать и белорусский и т.д. Понятно - ЛУЧШЕ ИСПОЛЬЗОВАТЬ UTF-8 !
кстати
эти символы будут не правильно отоблажаться, Вы правильно подметили, поэтому я пользовался функцией bin2hex(), которая переводила в 16-ый вид , а после я находил эти УМЛАУТЫ и заменял их на нормальный вид (ö)
В первое значение функции str_replace() НЕ ПРИХОДИТ символ кириллицы, немецкие УМЛАУТЫ не распознаются так, поэтому я пользовался функцией bin2hex(), это как бы компрамис между кодировками.
Вы тут правильно подметили ... если моя функция будет потоянно проверять каждый символ , и если сразу будет много народу сидеть ... то нагрузка на процессор будет большая.
Что это за ПРЕДЛОЖЕНИЕ , я так и не понял ). |
||||||||
|
|||||||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Тексты | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |