Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: cp-1251 vs utf-8
 
 автор: sl1p   (30.10.2008 в 22:01)   письмо автору
 
 

cp1251 vs utf-8
---
Тынялся по инету, прочитал кучу за\против...
...всё таки потянуло на юникод.. так как не придётся при всяких аяксах и прочей лабуде перекодировать в цп1251 и вообще половина мелких проблем отпадёт.

Но опять же, я просто даже не имею представления что и как..:)

Сделал копию проекта и начал пробовать переводить его на юникод.

Тоесть поменял все заголовки попересохранял и т.д. В "главных" файлах где присутствуют эти самые заголовки текст принял нормальный вид под ютф. Но в отдельных подключаемых файлах, тоесть где не указана кодировка как я не пробовал пересохранять не хочет показывать русский текст и всё тут..

И возникает проблема как хранить в MySQL текст в "нормальном" виде?.. тоесть что бы действительно было видно что это русский, а не "кракозяблики"?)
Работать нормально с текстом, она то работает, но я не хотел бы наблюдать такого в бд..

---
Вобщем посоветуйте как правильно пользоваться UTF-8. Возможно есть какието мануалы и т.д.?
Так же хотелось бы услышать Ваши мнения по поводу этих кодировок. Какую используете Вы?Почему?
Готов слушать любую инфу:)

  Ответить  
 
 автор: Dino   (30.10.2008 в 22:18)   письмо автору
 
   для: sl1p   (30.10.2008 в 22:01)
 

Исключительно UTF-8. CP1251 морально устарела. Для корректной работы при создании базы, при подключении к ней укажите кодировку UTF-8. И ознакомтесь с функциями библиотеки mbstring.

  Ответить  
 
 автор: sl1p   (30.10.2008 в 22:20)   письмо автору
 
   для: Dino   (30.10.2008 в 22:18)
 

в том то и дело что в базе изначально была ютф-8..
хы.. а насчёт библиотек, прямо опечален был)..

это придётся столько переписывать...
---
Самое что меня бесит это как аякс передаёт спец. символы.. их перекодировать с помощью iconv() в цп1251 нереально:\

  Ответить  
 
 автор: BinLaden   (30.10.2008 в 23:38)   письмо автору
 
   для: sl1p   (30.10.2008 в 22:20)
 

А как можно представить символ в cp1251, если его нет в этой кодовой таблице (cp1251)?

  Ответить  
 
 автор: sl1p   (31.10.2008 в 10:42)   письмо автору
 
   для: BinLaden   (30.10.2008 в 23:38)
 

Они мне совсем не нужны, но "ломают" преобразование iconv() ошибкой... если бы хотя бы можно было их вырезать или сходу както перевести в код этих символов.. я чесно говоря на это забил, так как провозился очень долго по гуглу и методами тыка, но так ничего и не получилось.

вырезать задолбусь так как их тысячи)...
а вот перевести..

  Ответить  
 
 автор: Loki   (31.10.2008 в 11:10)   письмо автору
 
   для: sl1p   (30.10.2008 в 22:01)
 

Уже два года как полностью перешел на юникод. Теперь когда приходится ковыряться с чьим-нибудь кодом в 1251 (в том числе и своим старым:), сразу возникает ощущение что я вырезаю гланды стеклорезом через соотвествующее место: вместо того чтобы просто программировать, начинаются пляски с кодировками.

  Ответить  
 
 автор: Sergeich   (31.10.2008 в 11:36)   письмо автору
 
   для: sl1p   (30.10.2008 в 22:01)
 

Использую только utf-8, все работает, никаких проблем с кодировками, с базой данных вообще не бывает никакого мучительного геморроя. Не нужно ни с чем возиться, все работает по умолчанию. Использование cp-1251 - издевательство прежде всего над собой, а так же и иногда над пользователями созданных Вами ресурсов.

  Ответить  
 
 автор: sl1p   (31.10.2008 в 12:36)   письмо автору
 
   для: Sergeich   (31.10.2008 в 11:36)
 

ну база работает нормально, просто я там вижу кракозяблы. А так всё путём.. хотелось бы както это пофиксить)
расковырял не плохой проэкт который сделан на ютф, там аналогичная трабла)

+ реально везде заменить всё на mb_string - я с ума сойду.

  Ответить  
 
 автор: Loki   (31.10.2008 в 12:42)   письмо автору
 
   для: sl1p   (31.10.2008 в 12:36)
 

>реально везде заменить всё на mb_string - я с ума сойду.
Я тоже так в свое время думал... а в итоге оказалось что поменять надо в 5-6 местах...

  Ответить  
 
 автор: sl1p   (31.10.2008 в 12:50)   письмо автору
 
   для: Loki   (31.10.2008 в 12:42)
 

Эм.. сори за возможно глупый вопрос, но если будет не мультибайтный символ, функции будут работать с ним как надо? Или в ютф нет не мультибайтных?)

  Ответить  
 
 автор: Loki   (31.10.2008 в 13:33)   письмо автору
 
   для: sl1p   (31.10.2008 в 12:50)
 

в utf-8 есть мультибайтные и немультибайтные. Если уверены что в строке мультибайтных не будет, то можно не использовать mbstring

  Ответить  
 
 автор: sl1p   (31.10.2008 в 14:06)   письмо автору
 
   для: Loki   (31.10.2008 в 13:33)
 

ну а если и такие и такие?.. то mb_string отнесётся к не мультибайтным нормально?..

тоесть вообще если например пощитать длину не мультибайтной строки будет корректно?

и интересует как перевести текст в ютф который до этого был написан на cp1251? (Dreamweaver)
и в большинстве случаев при переводе в ютф текст просто заменяется пробелами)

  Ответить  
 
 автор: Loki   (31.10.2008 в 14:32)   письмо автору
 
   для: sl1p   (31.10.2008 в 14:06)
 

>отнесётся к не мультибайтным нормально?..
нормально

>и в большинстве случаев при переводе в ютф текст просто заменяется пробелами
я похоже имел дело только с меньшинством случаев...

  Ответить  
 
 автор: sl1p   (31.10.2008 в 14:49)   письмо автору
 
   для: Loki   (31.10.2008 в 14:32)
 

я просто не могу понять как перевести это всё, что было заранее написано.

мб есть какието проги для массового перевода файлов?

  Ответить  
 
 автор: BinLaden   (31.10.2008 в 17:03)   письмо автору
 
   для: sl1p   (31.10.2008 в 14:49)
 

Отрываете директорию с файлами, перекодируете содержимое текстовых файлов, сохраняете.

  Ответить  
 
 автор: sl1p   (31.10.2008 в 18:29)   письмо автору
 
   для: BinLaden   (31.10.2008 в 17:03)
 

как именно это сделать?)

трабл именно в массовом перекодировании)

  Ответить  
 
 автор: sl1p   (31.10.2008 в 18:48)   письмо автору
 
   для: sl1p   (31.10.2008 в 18:29)
 

вобщем это не важно, прошёлся везде блокнотом всё как надо:))

вот только один трабл, блокнот повставлял BOM.. как его теперь удалить? или хотя бы увидеть?:)

теперь везде где выводится текст долбаные отступы(

  Ответить  
 
 автор: Loki   (31.10.2008 в 20:07)   письмо автору
 
   для: sl1p   (31.10.2008 в 18:48)
 

ищите редактор умеющий сохранять без него. многие это умеют.

  Ответить  
 
 автор: sl1p   (31.10.2008 в 20:11)   письмо автору
 
   для: Loki   (31.10.2008 в 20:07)
 

скачал notepad++ всё вроде окей..

нда.. тут либо надо понимать с чем имеешь дело либо не браться вовсе..

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования