[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: китайские иероглифы
melivan
Есть несколько проблем при работе с китайскими иероглифами.

1. обхъявление поля в форме со знач. по умолчанию (дримвивер отображает корректно в окне кода).
<input name="txtSearch" type="text" id="txtSearch" tabindex="0" value="汉字" />
В окне ФФ и ИЕ содержимое поля отображается так 汉字. Все отображается правильно если переставить кодировку на ютф-8.
Вопрос - есть ли какая то возможность передать браузеру установку ютф-8.
Все нижеперечисленное не работает.
1. установка кодировки по умолчанию в настройках ФФ.
2. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
3. .htaccess.

Вообще - как ФФ выставляет кодировку по умолч. ктонить знает ? У меня англ. винды, нигде в установках не стоит россия, я открываю сайт не имеюший отношения к России и ФФ выбирает 1251 кодировку.

2. Как выяснить кодировку строковой переменной в php. Например, для строки из 2 иероглифов, как выше, mb_detect_encoding возвращет ASCII. Вопрос даже шире, как кодируются кит. иероглифы? Есть ли источник на русском по этой теме?
Или как например обрабатывать строки в которых есть и русский и китайский и английский текст?




Спустя 2 часа, 4 минуты, 4 секунды (29.03.2010 - 06:25) kirik написал(а):
Цитата (melivan @ 28.03.2010 - 20:21)
3. .htaccess.

Как ставили?

Можно еще заголовок послать:
header('Content-Type: text/html; charset=utf-8'); 

Спустя 1 час, 23 минуты, 46 секунд (29.03.2010 - 07:49) melivan написал(а):
В спецификациях написано что header('... и мета таг в хтмл - одно и тоже. А потом я не хотел бы вставлять пхп код в начальную хтмл страницу.
Вы не могли бы объяснить поподробнее про htaccess? Если я оставляю содержимое как для custom-host (у меня денвер), и добавляю только последнюю директиву, или вообще убираю три первые директивы и оставляю только последнюю, то сайт перестает вообще открываться (то есть форма не показывается, исходный текст - пустой).
# dnwr_ip 127.0.0.2
# dnwr_host custom-host
# dnwr_port 8648
# AddDefaultCharset utf-8

htaccess должен лежать в корневой папке сайта, там же где www?

Спустя 9 минут, 8 секунд (29.03.2010 - 07:58) twin написал(а):
Цитата
header('... и мета таг в хтмл - одно и тоже.
это совсем не одно и тоже.
Цитата
htaccess должен лежать в корневой папке сайта, там же где www?
он должен лежать в папке www. Эта штучка - # - это комментарий. То есть сейчас ни одна директива не включена.

Спустя 47 минут, 25 секунд (29.03.2010 - 08:45) melivan написал(а):
По поводу расположения, спасибо, попробую.
По поводу #
## Любую из директив можно не указывать, тогда берется значение по умолчанию.
## Не пропустите ведущий символ "#" перед директивами!!!

Спустя 29 минут, 27 секунд (29.03.2010 - 09:15) melivan написал(а):
.htaccess в папке www или уровнем выше, перезапускаю денвер - сайт перестает вообще работать с ошибкой в ФФ the connection was reset. попробовал положить такой же .htaccess в папку с тестовым сайтом test1.ru, та же ошибка (то есть судя по всему, дело не в моем сайте, а в .htaccess). убираю .htaccess, перезапускаю денвер, ошибка уходит.

Спустя 11 минут, 47 секунд (29.03.2010 - 09:26) twin написал(а):
Нужно следить за переносами строк и кодировкой самого файла. Вот рабочий в аттаче, попробуй.

Спустя 36 минут, 46 секунд (29.03.2010 - 10:03) melivan написал(а):
спасибо, так работает.
А по строкам может ктото подскажет?
Я нашел хороший топик , но пока не до конца все себе уяснил

Спустя 9 минут, 35 секунд (29.03.2010 - 10:13) twin написал(а):
По каким строкам?

Спустя 1 день, 4 часа, 58 минут, 11 секунд (30.03.2010 - 15:11) melivan написал(а):
у меня в теме, пункт номер 2
2. Как выяснить кодировку строковой переменной в php. Например, для строки из 2 иероглифов, как выше, mb_detect_encoding возвращет ASCII. Вопрос даже шире, как кодируются кит. иероглифы? Есть ли источник на русском по этой теме?
Или как например обрабатывать строки в которых есть и русский и китайский и английский текст? Как определять где закончился один язык и начался второй? Ктонить сталкивался с такой проблемой?

Спустя 17 часов, 47 минут, 53 секунды (31.03.2010 - 08:59) melivan написал(а):
Я нашел как кодируются китайские иероглифы, если кому то интересно, то тут.
Однако есть вот какой вопрос - если я принимаю скажем иероглиф в UTF-8, mb_strwidth возвращает 2 верхних байта из трех. Я попробовал strlen (она возвращает 3 байта как и должно быть) но как то неправильно использовать ф-ю для однобайтовых строк в случае с UTF-8. Может ктото знает как это сделать "по-правильному"?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.