Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> какую кодировку использовать, UTF-8 
V
    Опции темы
Рыжий
Дата 6.2.2007, 01:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

Репутация: 2
Всего: 20



Скажите пожалуйста какую кодировку сейчас лучше использовать?
Много шума что PHP6 полностью переходит на UTF, а как с ним дела сейчас?

И вообще, если на странице будет текст:

Привет! Hello! 

И это будут просматривать люди из разных стран (от России до Китая (включая США)) как они увидят это сообщение? будут ли "???????"

Спасибо! Сув.
PM MAIL ICQ   Вверх
-=Ustas=-
Дата 6.2.2007, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Нет, вопросов не будет. На UTF давно уже надо было переходить.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Рыжий
Дата 6.2.2007, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

Репутация: 2
Всего: 20



-=Ustas=-, Чтобы не было вопросов, как я понимаю, нужно будет использовать iconv() или mb_* ?
PM MAIL ICQ   Вверх
-=Ustas=-
Дата 6.2.2007, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Цитата(Рыжий @  6.2.2007,  18:35 Найти цитируемый пост)
-=Ustas=-, Чтобы не было вопросов, 

Всмысле ? У тебя браузеры будут отображать ее нормально без каких либо конвертаций. Само собой и в базе тоже инфа должна в UTF храниться.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Рыжий
Дата 6.2.2007, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

Репутация: 2
Всего: 20



Может я что-то недопонимаю, но при таком коде:

Код

<html>

<head>
  <title></title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
 </head>
<body>
Привет
hello

</body>

</html>


У меня не выводится Привет Hello , вместо этого квадратики или ????

Сув.

PM MAIL ICQ   Вверх
mishaSL
Дата 6.2.2007, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 19
Всего: 54



Сам файл сохрани в uft кодировке и все будет нормально.


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
sergejzr
Дата 6.2.2007, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 5
Всего: 360



Файл естественно сохраняй так же в УТФ-8. 


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
GZep
Дата 6.2.2007, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: 8
Всего: 32



Рыжий, в браузере вид-> кодировка и там правте. Если не помогло, то откройте файл в блокноте и сохраните его указав кодировку utf.

А вот у меня вопрос немного не по теме...

Вот чем отличается(html):
Цитата(Рыжий @  6.2.2007,  19:34 Найти цитируемый пост)
<meta http-equiv="content-type" content="text/html;

от php заголовка:
Код

header("Content-type: text/html");

?


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
Рыжий
Дата 6.2.2007, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

Репутация: 2
Всего: 20



GZep, Один топик - один вопрос smile

А вообще - ничем, этот header посылает браузеру инфу о том, что далее последует информация в формате text/html
PM MAIL ICQ   Вверх
Рыжий
Дата 6.2.2007, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

Репутация: 2
Всего: 20



Еще один вопрос:
Чем файл utf отличается от обычного? (кроме принадлежности к кодировке конечно)
Сохранил файл в блокноте в UTF (не нашел этой опции в PHPExpertEditor smile ) - никаких внешних признаков не вижу, файл как файл!
PM MAIL ICQ   Вверх
skyboy
Дата 6.2.2007, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(Рыжий @  6.2.2007,  21:29 Найти цитируемый пост)
никаких внешних признаков не вижу, файл как файл! 

открой в HEX-режиме  smile 
PM MAIL   Вверх
sergejzr
Дата 7.2.2007, 00:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 5
Всего: 360



В PHPExpertEditor есть УТФ-8. А вообще пользуйся Еклипсой, там всё это очень удобно настраивается.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Рыжий
Дата 8.2.2007, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

Репутация: 2
Всего: 20



Прочитал на форуме много тем про utf-8. Как я понял, она вызывает большие проблемы, особенно если нужно перейти от cp1251 на utf-8. 
Но меня интересует, зачем использовать функции mb_* при работе с utf?? (и если можно пример, хоть один)
Спасибо smile

PS   PHP 5.2.0    MySQL 4.1.22-community-nt

 
M
PARROT
Зачем создавать на форуме кучу тем с одним и тем же содержанием? Вроде не первый день на форуме. Читай правила: http://forum.vingrad.ru/s/7e9242369ab0b951...ct-SR/f-27.html


Это сообщение отредактировал(а) PARROT - 8.2.2007, 16:31
PM MAIL ICQ   Вверх
Рыжий
Дата 14.2.2007, 02:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

Репутация: 2
Всего: 20



Еще один вопрос: Как проверить длину строки если она в UTF ?

Код

strlen('hello')  = 5

strlen('привет') = 12 (вместо 6!!)


PM MAIL ICQ   Вверх
skyboy
Дата 14.2.2007, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(Рыжий @  14.2.2007,  01:47 Найти цитируемый пост)
Еще один вопрос: Как проверить длину строки если она в UTF ?

Цитата(Рыжий @  8.2.2007,  15:22 Найти цитируемый пост)
Но меня интересует, зачем использовать функции mb_* при работе с utf??

Код

mb_strlen('превед!') == 6;


PM MAIL   Вверх
Рыжий
Дата 14.2.2007, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

Репутация: 2
Всего: 20



skyboy, Одним кодом на два вопроса... это +  smile 
PM MAIL ICQ   Вверх
SamDark
Дата 14.2.2007, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: 10
Всего: 38



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


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
CHEM_Eugene
Дата 4.8.2008, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 12.2.2008

Репутация: нет
Всего: нет



Цитата(skyboy @  14.2.2007,  11:28 Найти цитируемый пост)
mb_strlen('превед!') == 6;


Выдает false; Это нормальное поведение? Я понимаю, что utf-8 2мя байтами кодирует кириллицу, но mb_strlen-то почему 12 выдает?

Разобрался вроде. Прописал в .htaccess строки:
Код

php_value mbstring.internal_encoding utf-8
php_value mbstring.func_overload 7

Теперь обе ф-ии:
strlen('привет')==6;
mb_strlen('привет')==6;
выдают true


Это сообщение отредактировал(а) CHEM_Eugene - 4.8.2008, 14:35
PM MAIL   Вверх
sTa1kEr
Дата 4.8.2008, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



Цитата(CHEM_Eugene @  4.8.2008,  15:14 Найти цитируемый пост)
Выдает false; Это нормальное поведение?

Да, потому что в этом примере 7 символов.

Цитата(CHEM_Eugene @  4.8.2008,  15:14 Найти цитируемый пост)
Я понимаю, что utf-8 2мя байтами кодирует кириллицу, но mb_strlen-то почему 12 выдает?

mbstring - не телепат, он не может сам догадаться, что вы в UTF-8 работаете. Ему для этого надо сначала об этом сообщить при помощи http://php.net/mb_internal_encoding или соответствующей настройкой в php.ini http://php.net/mbstring.configuration
PM MAIL   Вверх
CHEM_Eugene
Дата 4.8.2008, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 12.2.2008

Репутация: нет
Всего: нет



Цитата(sTa1kEr @  4.8.2008,  14:44 Найти цитируемый пост)
Да, потому что в этом примере 7 символов.


тьфу ты, описался, и правда 7  smile, но пример-то я свой брал, правильный! Все этот падонгский язык smile

А вот так: 
Код

var_dump( mb_strlen('привет', 'utf-8') == 6);
 выдает true без директив и ini_set-ов
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0656 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.