Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#1 2007-09-21 16:40:51

Andy
Гость

Разница кодировок при интеграции в сайт

Вот посмотрите

http://metal.by/forum

Установлена модификация этого форума + Russian_win1251

В базах данных тоже _win1251.

Какие файлы мне надо пересохранить и в какой кодировке?

#2 2007-09-22 11:50:36

artoodetoo
Гость

Re: Разница кодировок при интеграции в сайт

а выглядит так, как будто форум на utf-8, а вот все что кроме - в windows-1251 smile
firefox говорит, что в header страницы указан utf-8

и, кстати, почему-то у тебя две секции <head</head> на странице smile с разными meta...charset - это не дело. надо аккуратнее вставлять.

короче у тебя 3 проблемы
1. фобия на utf (шутка smile )

2. кодировка страниц похоже указывается серваком явно, невзирая на твои meta charset. решается это через .htaccess и AddDefaultCharset - поищи и почитай. или делай все в utf smile

3. не знаю КАК ты прикрутил шапку с основным меню, но надо избавляться от дублирования html-секции <head>

если бы передо мной встала задача внедрить данный дизайн в форум, то я бы
- саму шапку поместил бы в include/user - голый html БЕЗ <head> (пусть это будет mycoolhat.htm)
- редактировал шаблоны форумных страничек в include/template, добавляя <pun_include mycoolhat.htm> где-то между строк <body> и <div id="punwrap">

удачи! шапочка красивая!

#3 2007-09-22 12:26:38

Andy
Гость

Re: Разница кодировок при интеграции в сайт

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

artoodetoo пишет:

и, кстати, почему-то у тебя две секции <head</head> на странице  с разными meta...charset - это не дело. надо аккуратнее вставлять.

Как это можно исправить, что конкретно игде удалять?

artoodetoo пишет:

1. фобия на utf (шутка  )

Вроде как её нету, просто остальной сайт сделан в windows-1251, что лучше форум подстроить или на сайте UTF8 поставить? Опять же говорю, я плохо вэтом секу, ноесли объясните подробно смог бы всё сделать. То есть я не против в UTF8 и windows-1251, только что лучше будет для всего сайта вцелом, если пользоатели на 95 процентов будут русскоязычные, то есть пользоваться крилицей илатиницей.

artoodetoo пишет:

2. кодировка страниц похоже указывается серваком явно, невзирая на твои meta charset. решается это через .htaccess и AddDefaultCharset - поищи и почитай. или делай все в utf

Так вроде бы натолкнуло на мысль. Вот что пишет в MySQL:

MySQL-кодировка: UTF-8 Unicode (utf8)

Сопоставление соединения с MySQL: utf_unicod_ci

Ну а сама база форума и CMS в кодировке cp1251_general_ci

Как лучше? Где лучше? И на что лучше поменять?


artoodetoo пишет:

3. не знаю КАК ты прикрутил шапку с основным меню, но надо избавляться от дублирования html-секции <head>

если бы передо мной встала задача внедрить данный дизайн в форум, то я бы
- саму шапку поместил бы в include/user - голый html БЕЗ <head> (пусть это будет mycoolhat.htm)
- редактировал шаблоны форумных страничек в include/template, добавляя <pun_include mycoolhat.htm> где-то между строк <body> и <div id="punwrap">

удачи! шапочка красивая!

Идея ясна, разделяю, но можно более подробнее? Боюсь напортачить.:|

Вот код моего header.php:

<?php
/***********************************************************************

  Copyright (C) 2002-2005  Rickard Andersson ([email protected])

  This file is part of PunBB.

  PunBB is free software; you can redistribute it and/or modify it
  under the terms of the GNU General Public License as published
  by the Free Software Foundation; either version 2 of the License,
  or (at your option) any later version.

  PunBB is distributed in the hope that it will be useful, but
  WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  MA  02111-1307  USA

************************************************************************/

/************************************************************************

Modified by hcs ([email protected]) http://punbb.ru

Added UTF-8 support, Russian language & more mods.

2006 - 2007

************************************************************************/

// Header of METAL.BY
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>METAL.BY || ФОРУМ</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link href="http://www.metal.by/assets/templates/metal/css/style_forum.css" rel="stylesheet" type="text/css">
</head>

<body style="background-color:#FFF;">
<div id="main">
<div id="logo"><a href="http://www.metal.by/"><img src="http://www.metal.by/assets/templates/metal/img/logo.png" alt="METAL.BY" width="163px" height="39px" border="0px"><br></a></div>
<div id="language"><a href="#"><img src="http://www.metal.by/assets/templates/metal/img/language.png" alt="Выбор языка..." width="26px" height="26px" border="0px"><br></a></div>
<div id="right_menu">
<a href="http://www.metal.by/index.php?id=2">новости&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a><br>
<a href="http://www.metal.by/index.php?id=3">галерея&nbsp;&nbsp;</a><br>
<a href="http://www.metal.by/forum/">форум&nbsp;</a><br>
<a href="http://www.metal.by/index.php?id=5">дистрибьюция</a><br>
<a href="http://www.metal.by/index.php?id=6">группы&nbsp;</a><br>
<a href="http://www.metal.by/index.php?id=7">загрузка&nbsp;&nbsp;&nbsp;</a><br>
<a href="http://www.metal.by/index.php?id=8">ссылки&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a><br>
</div>
<div id="left_menu">
<a href="#">афиша:</a><br>
<a href="#">концерт_1&nbsp;&nbsp;</a><br>
<a href="#">концерт_2&nbsp;&nbsp;&nbsp;</a><br>
<a href="#">концерт_3&nbsp;&nbsp;&nbsp;</a><br>
</div>

<div id="contact"><a href="http://www.metal.by/index.php?id=9">связь</a></div>

<div id="content">
<?php

// Make sure no one attempts to run this script "directly"
if (!defined('PUN'))
    exit;

// Send no-cache headers
header('Expires: Thu, 21 Jul 1977 07:30:00 GMT');    // When yours truly first set eyes on this world! :)
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');        // For HTTP/1.0 compability


// Load the template
if (defined('PUN_ADMIN_CONSOLE'))
    $tpl_main = file_get_contents(PUN_ROOT.'include/template/admin.tpl');
else if (defined('PUN_HELP'))
    $tpl_main = file_get_contents(PUN_ROOT.'include/template/help.tpl');
else
    $tpl_main = file_get_contents(PUN_ROOT.'include/template/main.tpl');

Редактировался Andy (2007-09-22 12:35:30)

#4 2007-09-22 17:26:26

artoodetoo
Гость

Re: Разница кодировок при интеграции в сайт

яимел в виду header http, а не header.php ...

мне кажется тебе надо всетаки немного потусоваться здесь и подучить матчасть. погоняй форум на локальном компе на денвере чтоли...
слишком много неизвестных. ты получил рекомендации - дальше давай сам вникай.

#5 2007-09-23 16:27:43

Andy
Гость

Re: Разница кодировок при интеграции в сайт

artoodetoo пишет:

если бы передо мной встала задача внедрить данный дизайн в форум, то я бы
- саму шапку поместил бы в include/user - голый html БЕЗ <head> (пусть это будет mycoolhat.htm)
- редактировал шаблоны форумных страничек в include/template, добавляя <pun_include mycoolhat.htm> где-то между строк <body> и <div id="punwrap">

Когда просто помещаю код между строк <body> и <div id="punwrap">, то всё работает, когда делаю htm-файл и заливаю его d include/user ничего не происходит, форум просто открывается без шаки в полную ширину. Чё делать?

Код htm-файла, который я кидаю в include/user, как исказал бещ <head>

<title>METAL.BY || ФОРУМ</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link href="http://www.metal.by/assets/templates/metal/css/style_forum.css" rel="stylesheet" type="text/css">

<body style="background-color:#FFF;">
<div id="main">
<div id="logo"><a href="http://www.metal.by/"><img src="http://www.metal.by/assets/templates/metal/img/logo.png" alt="METAL.BY" width="163px" height="39px" border="0px"><br></a></div>
<div id="language"><a href="#"><img src="http://www.metal.by/assets/templates/metal/img/language.png" alt="Выбор языка..." width="26px" height="26px" border="0px"><br></a></div>
<div id="right_menu">
<a href="http://www.metal.by/index.php?id=2">новости&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a><br>
<a href="http://www.metal.by/index.php?id=3">галерея&nbsp;&nbsp;</a><br>
<a href="http://www.metal.by/forum/">форум&nbsp;</a><br>
<a href="http://www.metal.by/index.php?id=5">дистрибьюция</a><br>
<a href="http://www.metal.by/index.php?id=6">группы&nbsp;</a><br>
<a href="http://www.metal.by/index.php?id=7">загрузка&nbsp;&nbsp;&nbsp;</a><br>
<a href="http://www.metal.by/index.php?id=8">ссылки&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a><br>
</div>
<div id="left_menu">
<a href="#">афиша:</a><br>
<a href="#">концерт_1&nbsp;&nbsp;</a><br>
<a href="#">концерт_2&nbsp;&nbsp;&nbsp;</a><br>
<a href="#">концерт_3&nbsp;&nbsp;&nbsp;</a><br>
</div>

<div id="contact"><a href="http://www.metal.by/index.php?id=9">связь</a></div>

<div id="content">

Всё тут правильно или нет? И в include/user кидать ли или в другую папку?

Редактировался Andy (2007-09-23 16:37:10)

#6 2007-09-24 21:01:04

Andy
Гость

Re: Разница кодировок при интеграции в сайт

Ну ребята, может объясните что к чему?

#7 2007-09-24 21:27:05

artoodetoo
Гость

Re: Разница кодировок при интеграции в сайт

Andy пишет:

когда делаю htm-файл и заливаю его d include/user ничего не происходит, форум просто открывается без шаки в полную ширину

значит ты где-то ошибся, опечатался, не туда помещаешь... фиг знает где ты ошибся. экспериментируй, ищи.
из твоей реплики непонятно: ты просто заливаешь файл и... все, <pun_include файл> не забыл ?

ты определись с главным - хочешь чтобы за тебя добрая фея все сделала (за бабки) или сам сделаешь.
если второе - ищи и читай про PUN_DEBUG, error_reporting, и функцию die ('отладочное сообщение')

!!!!

Добавлено спустя     6 минут   5 секунд:
P.S. не вываливай сюда полные тексты файлов, их никто не читает.

#8 2007-09-24 23:43:46

Andy
Гость

Re: Разница кодировок при интеграции в сайт

С тем я разобрался уже, я спрашиваю про кодировку.

#9 2007-09-25 07:02:15

artoodetoo
Гость

Re: Разница кодировок при интеграции в сайт

и где вопрос?

напиши что хочешь получить и сформулируй конкретный вопрос.

ТЫ ХОЧЕШЬ-ТО ЧЕГО? какую кодировку? когда сформулируешь тогда ответ будет - делай ВСЕ в этой кодировке. и таблицы и языковые файлы.

#10 2007-09-25 18:08:32

Andy
Гость

Re: Разница кодировок при интеграции в сайт

artoodetoo

Сделал всё под utf как ты и советовал. Смотри теперь что, страница и шапка в utf, но почему кодировка автоматом определяется как win-1251. Пробывал менять в .htacces нет результата. Тэги в header.php прописаны на utf.

ссылочка на сам форум: http://metal.by/forum

Добавлено спустя     23 минуты   24 секунды:
Подскажи пожалуйста ещё как перекодировать MySQL из cp1251_general_ci в utf8_general_ci

Редактировался Andy (2007-09-25 18:09:03)

#11 2007-09-25 20:24:47

artoodetoo
Гость

Re: Разница кодировок при интеграции в сайт

за тобой не угонишся smile сегодня действительно "автоматом" определяется как windows-1251, на днях было наоборот. видимо твои изменения в .htaccess и работают!
сделай AddDefaultCharset Off — тогда браузеры будут на автомате использовать <meta ...charset...> страниц.
или AddDefaultCharset utf-8 — тогда браузеры будут считать, что при любом meta страница в utf-8

ты уверен, что у тебя в базе cp1251?
в базе с помощью MyPHPAdmin поменяй у текстовых полей collation, а лучше грохни таблицы и заново поставь форум, а перед установкой пропиши default charset utf8 у всех CREATE TABLE кроме таблицы search_words
не забудь SET NAMES UTF8

обо всем этом уже не раз написано. ищите и обрящете

#12 2007-09-26 23:06:55

Andy
Гость

Re: Разница кодировок при интеграции в сайт

Посмотри сейчас, у меня весь сайт в UTF-8 уже, в том числе и форум. Проблема была в том, что я не имею доступ к ht.acces: пришлось звонить хостеру и просить произвести эту операцию.

Базы MySQL у меня точно сохранены в cp_1251_general_ci, параметр collation установлен на utf_general_ci, ну а MySQL-кодировка: UTF-8 Unicode (utf8).

Вопросец теперь вот в чём, стоит ли перекодировать базы тоже в utf_general_ci?

Если да, то как это правильно делается? По пунктам пожалуйста, не хочу запороть, сейчас почти всё работает.

В общем надо из cp_1251_general_ci базы перегнать в utf_general_ci. Я никогда этого не делал, пока слабо представляю как это делается правильно, как они правильно экспортируются, пересохраняются и импортируются обратно на сервак.

#13 2007-09-27 05:18:28

artoodetoo
Гость

Re: Разница кодировок при интеграции в сайт

все в предыдущем посте

#14 2007-09-27 09:17:28

Andy
Гость

Re: Разница кодировок при интеграции в сайт

artoodetoo пишет:

все в предыдущем посте

Да я почитал, но мне надо перекодировать 106 таблиц, то есть не только таблицы форум, но и сайта.

Я их экспортирую (сохраню на комп в zipped), как мне на компьютере поменять у них кодировку, чтобы ничего не полетело? Я этот этап процесса не понимаю как произвести, всё остальное вроде ясно как делать.

#15 2007-09-27 11:35:33

artoodetoo
Гость

Re: Разница кодировок при интеграции в сайт

можно не менять кодировку самому. доверь это клиенту mysql

Экспорт:
- из myphpadmin экспортируй отдельно структуру и данные.
- распакуй, если запаковано.
- в структурном скрипте поиском-и-заменой поменяй все слова cp1251 на utf8.
- данные оставь как есть.

Импорт:
- выполни скрипт со структурой. во всех таблицах у полей типа varchar должен появиться collation utf8_general_ci
- когда будешь заливать скрипт с данными, обрати внимание на выпадающий список Character set of the file - надо указать явно, что твои данные в 1251, их переконвертит сам mysql на лету.

это общее правило: не обязательно данные хранятся и выводятся в одной и той же кодировке! с помощью "set names ..." можно указать какая кодировка нужна твоим скриптам и клиентская прослойка mysql перекодирует их как надо.
если set names не указан, то действуют некие установки сервера, которые ты не знаешь. поэтому лучше ВСЕГДА указывать явно.

Подвал доски

Под управлением FluxBB. Хостинг Hostens