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

Форум PHP

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

 

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

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

тема: Какую кодировку выбрать?
 
 автор: Sonic   (03.04.2009 в 20:17)   письмо автору
 
 

Здравствуйте, например создаю простой web-проект, сложные(большие) не умею делать)

Подскажите какую кодиорвку выбрать? Для файлов с исходниками, самого сайта и для базы?

Ну там плюсы и минусы ANSI vs UNICODE? Я делаю в UTF-8 какие минусы могут быть? Или может лучше использовать cp1251?

  Ответить  
 
 автор: ddhvvn   (03.04.2009 в 20:42)   письмо автору
 
   для: Sonic   (03.04.2009 в 20:17)
 

Хм.. ) При использовании UTF-8 вижу только минус в том, что некорректно работают некоторые функции и рег.выражения. Но это легко обходится. Например, в рег.выражениях, есть модификатор u, или есть функции iconv_* для работы с юникод строками

  Ответить  
 
 автор: oli   (04.04.2009 в 15:35)   письмо автору
 
   для: ddhvvn   (03.04.2009 в 20:42)
 

Для базы всегда использую cp1251

  Ответить  
 
 автор: Commander   (04.04.2009 в 15:50)   письмо автору
 
   для: Sonic   (03.04.2009 в 20:17)
 

Стандарт де-факто win-1251.

  Ответить  
 
 автор: ФрекенБок   (04.04.2009 в 16:17)   письмо автору
 
   для: Commander   (04.04.2009 в 15:50)
 

Полностью перешел на UTF-8, чего и всем советую.

  Ответить  
 
 автор: Loki   (04.04.2009 в 18:20)   письмо автору
 
   для: Commander   (04.04.2009 в 15:50)
 

Стандарт де-факто UTF-8, а 1251 - это архаизм.

  Ответить  
 
 автор: cheops   (04.04.2009 в 17:25)   письмо автору
 
   для: Sonic   (03.04.2009 в 20:17)
 

Минус действительно только в функциях - не все многобайтовые кодировки используют, однако использование mb_string(), как правило, проблему решает (обещают решить эту проблему для стандартных функций в PHP 6). Пожалуй, ещё один минус, MySQL не поддерживает режим независимости от регистра в случае UTF8. Зато в остальном только плюсы, а при работе с AJAX и многоязыковым файлом с другой кодировкой практически не реально работать (можно, но придется очень много усилий лишних делать).

PS Если используете UTF-8 так и пользуйтесь ей. Задумываться о смене кодировки стоит, если другую используете.

  Ответить  
 
 автор: Loki   (04.04.2009 в 18:22)   письмо автору
 
   для: cheops   (04.04.2009 в 17:25)
 

>MySQL не поддерживает режим независимости от регистра в случае UTF8
Опа... с чего бы это?

  Ответить  
 
 автор: cheops   (04.04.2009 в 20:09)   письмо автору
 
   для: Loki   (04.04.2009 в 18:22)
 

Самого удивляет...
mysql> show collation like 'utf8%';
+--------------------+---------+-----+---------+----------+---------+
| Collation          | Charset | Id  | Default | Compiled | Sortlen |
+--------------------+---------+-----+---------+----------+---------+
| utf8_general_ci    | utf8    |  33 | Yes     | Yes      |       1 |
| utf8_bin           | utf8    |  83 |         | Yes      |       1 |
| utf8_unicode_ci    | utf8    | 192 |         | Yes      |       8 |
| utf8_icelandic_ci  | utf8    | 193 |         | Yes      |       8 |
| utf8_latvian_ci    | utf8    | 194 |         | Yes      |       8 |
| utf8_romanian_ci   | utf8    | 195 |         | Yes      |       8 |
| utf8_slovenian_ci  | utf8    | 196 |         | Yes      |       8 |
| utf8_polish_ci     | utf8    | 197 |         | Yes      |       8 |
| utf8_estonian_ci   | utf8    | 198 |         | Yes      |       8 |
| utf8_spanish_ci    | utf8    | 199 |         | Yes      |       8 |
| utf8_swedish_ci    | utf8    | 200 |         | Yes      |       8 |
| utf8_turkish_ci    | utf8    | 201 |         | Yes      |       8 |
| utf8_czech_ci      | utf8    | 202 |         | Yes      |       8 |
| utf8_danish_ci     | utf8    | 203 |         | Yes      |       8 |
| utf8_lithuanian_ci | utf8    | 204 |         | Yes      |       8 |
| utf8_slovak_ci     | utf8    | 205 |         | Yes      |       8 |
| utf8_spanish2_ci   | utf8    | 206 |         | Yes      |       8 |
| utf8_roman_ci      | utf8    | 207 |         | Yes      |       8 |
| utf8_persian_ci    | utf8    | 208 |         | Yes      |       8 |
| utf8_esperanto_ci  | utf8    | 209 |         | Yes      |       8 |
| utf8_hungarian_ci  | utf8    | 210 |         | Yes      |       8 |
+--------------------+---------+-----+---------+----------+---------+

  Ответить  
 
 автор: Trianon   (04.04.2009 в 22:42)   письмо автору
 
   для: cheops   (04.04.2009 в 20:09)
 

однако есть utf8_bin

  Ответить  
 
 автор: cheops   (05.04.2009 в 12:59)   письмо автору
 
   для: Trianon   (04.04.2009 в 22:42)
 

Хм... а он не зависит от регистра?

  Ответить  
 
 автор: Trianon   (05.04.2009 в 13:35)   письмо автору
 
   для: cheops   (05.04.2009 в 12:59)
 

Очевидно, нет.
Во всяком случае в utf8_bin можно добавить одно и то же слово с маленькой и с большой буквы в поле уникального ключа (в отличие от utf8_unicode_ci, где такое действие запрещено)

  Ответить  
 
 автор: simplyv   (05.04.2009 в 08:44)   письмо автору
 
   для: Sonic   (03.04.2009 в 20:17)
 

1251 удобнее, если вы работаете на Windows и часто прыгаете с программ. Хотя в зависимости от веб-редактора, и тут могут быть проблемы с кодировкой.
В интернете же лучше UTF-8, эту кодировку прочитает и русский и француз, она отобразится корректно во всех странах.

  Ответить  
 
 автор: POPSuL   (05.04.2009 в 14:00)   письмо автору
 
   для: Sonic   (03.04.2009 в 20:17)
 

я только UTF-8 использую.

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

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