Forums -> Глюкодром -> Php-nuke + MySQL
| Full Version

ego
Есть проблема ,может кто сталкивался
На сервере в MySQL 4.1.10a в phpMyAdmin 2.6.4-pl1 по умолчанию выставлена кодировка UTF-8 Unicode (utf8)
Когда я заливаю базу данных из PHP-Nuke 7,9 рус которая в кодировке win cp1251 то в итоге получаю всю нюку в знаках вопросов.Пытался менять кодировку в nuke.sql (посоветуйте прогу для этого я делал ИЕ).
В файле db.php после запроса к базе добавил
}

$db = new sql_db($dbhost, $dbuname, $dbpass, $dbname, false);
mysql_query("SET NAMES 'cp1251'");
if(!$db->db_connect_id) {
тоже не помогает

Сопоставление соединения с MySQL: тоже выставлял нужную кодировку.Когда саму базу заливал тоже указывал нужную кодировку файла.
Даже незнаю что делать.Изменить кодировку по умолчанию нельзя потому как там еще бегает вобла которая нормально работает UTF-8 Unicode (utf8) кодировкой и если изменить то форум будет тогда весь в вопросиках тоже.
Хостер сказал мол
QUOTE
Выход, добавить SQL-запрос после соединения с БД:
SET NAMES cp1251

После заливки базы все таблицы в latin1_swedish_ci.Я гдето читал что можно сразу всей базе или таблицам поменять кодировку в phpMyAdmin я такой опции не нашел.
Поможет ли если изменить во всех полях кодировку вручную?
Вот теперь незнаю что делать,нужна именно эта нюка на сайте.
На предмет вопроса гуглил уже,ничего толкового не нашел
http://fanguru.com/index.php
irage
mysql_query ("set character_set_client='cp1251'", $link);
mysql_query ("set character_set_results='cp1251'", $link);
mysql_query ("set collation_connection='cp1251_general_ci'", $link);
ego
Спасибо за отклик

вставил

QUOTE
}

$db = new sql_db($dbhost, $dbuname, $dbpass, $dbname, false);
mysql_query ("set character_set_client='cp1251'", $link);
mysql_query ("set character_set_results='cp1251'", $link);
mysql_query ("set collation_connection='cp1251_general_ci'", $link);
if(!$db->db_connect_id)  {
   die("<br><br><center><b>Извините за временное неудобство.<br><br>Есть
проблема с Базой Данных $dbtype сервера.<br><br>Мы скоро вернемся.</center></b>");

получил

QUOTE
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/fanguru/domains/fanguru.com/public_html/db/db.php on line 95

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/fanguru/domains/fanguru.com/public_html/db/db.php on line 96

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/fanguru/domains/fanguru.com/public_html/db/db.php on line 97

неправильный аргумент говорит,вставил только первый тоже самое толко в 95 строке
убрал переменную

, $link

получил

Parse error: parse error, unexpected $ in /home/fanguru/domains/fanguru.com/public_html/db/db.php on line 80
ego
вот на всяк случ весь файл

А что за переменная $link ?

<?php
/***************************************************************************
* db.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* Id: db.php,v 1.10 2002/03/18 13:35:22 psotfx Exp
*
*
***************************************************************************/

/***************************************************************************
* This file is part of the phpBB2 port to Nuke 6.0 (c) copyright 2002
* by Tom Nitzschner (tom@toms-home.com)
* http://bbtonuke.sourceforge.net (or http://www.toms-home.com)
*
* As always, make a backup before messing with anything. All code
* release by me is considered sample code only. It may be fully
* functual, but you use it at your own risk, if you break it,
* you get to fix it too. No waranty is given or implied.
*
* Please post all questions/request about this port on http://bbtonuke.sourceforge.net first,
* then on my site. All original header code and copyright messages will be maintained
* to give credit where credit is due. If you modify this, the only requirement is
* that you also maintain all original copyright messages. All my work is released
* under the GNU GENERAL PUBLIC LICENSE. Please see the README for more information.
*
***************************************************************************/

/***************************************************************************
*
* This program 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.
*
***************************************************************************/

if (stristr($_SERVER['PHP_SELF'], "db.php")) {
Header("Location: index.php");
die();
}

if (defined('FORUM_ADMIN')) {
$the_include = "../../../db";
} elseif (defined('INSIDE_MOD')) {
$the_include = "../../db";
} else {
$the_include = "db";
}

switch($dbtype) {

case 'MySQL':
include("".$the_include."/mysql.php");
break;

case 'mysql4':
include("".$the_include."/mysql4.php");
break;

case 'sqlite':
include("".$the_include."/sqlite.php");
break;

case 'postgres':
include("".$the_include."/postgres7.php");
break;

case 'mssql':
include("".$the_include."/mssql.php");
break;

case 'oracle':
include("".$the_include."/oracle.php");
break;

case 'msaccess':
include("".$the_include."/msaccess.php");
break;

case 'mssql-odbc':
include("".$the_include."/mssql-odbc.php");
break;

case 'db2':
include("".$the_include."/db2.php");
break;

}

$db = new sql_db($dbhost, $dbuname, $dbpass, $dbname, false);
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
if(!$db->db_connect_id) {
die("<br><br><center><b>Извините за временное неудобство.<br><br>Есть
проблема с Базой Данных $dbtype сервера.<br><br>Мы скоро вернемся.</center></b>");
}

?>
irage
$link - это id соединения с базой. Попробуй заменить $link в моем примере на $db.
Uzaren
Создай файл .htaccess в нём напиши вот это
CODE
AddDefaultCharset windows-1251

И положи его в диру где лежит Nuke
irage
QUOTE (Uzaren @ 27-10-2005, 22:19)
Создай файл .htaccess в нём напиши вот это
CODE

AddDefaultCharset windows-1251


И положи его в диру где лежит Nuke
:fear2:

Уз, это тонкая шутка???
ego
irage не помогло c $db :(

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/fanguru/domains/fanguru.com/public_html/db/db.php on line 95 .................


я так понял эти запросы для того чтобы он с базой правильно работал,тоесть брал в правильной кодировке и отдавал.Но в самой базе у меня все latin1_swedish_ci.Может чего не так заливается.Локально у меня все окей с денвером а вот серваке не сложилось там мускул новее и phpMyAdmin.
Я локально сделал дамб,залил, вся таблица в поле сравнения была как положено cp1251 но вопросики не исчезли :(

Uzaren это наверно для браузера?
Set
Попробуй "SET CHARACTER SET utf8" в SQL
irage
Не боись, разберемся. Я тебе давал пример для родных функций PHP для работы с MYSQL, судя по всему нюк использует еще один способ, аналог ODBC. То что база по умолчанию в swedish не должно быть проблемой, самое главное всадить три SQL запроса сразу после функции соединения с базой. Можно попробовать вместо $link использовать $db, только всадить это надо после этого куска:

CODE

if(!$db->db_connect_id) {
die("<br><br><center><b>Извините за временное неудобство.<br><br>Есть
проблема с Базой Данных $dbtype сервера.<br><br>Мы скоро вернемся.</center></b>");
}


Именно здесь переменной $db присваивается идентификатор соединения. По любому, если не получится я сейчас подчитаю описание функций и твою проблему решим.
irage
чего то я не могу найти 6-ю версию, они уже 7-ку раздают. Запость содержание mysql4.php плиз.
Uzaren
QUOTE (irage @ 27-10-2005, 19:22)
Уз, это тонкая шутка???
У меня была похожая проблема с Invision форумом, отображалась всякая крякозябра, то есть апачи был настроен, на UTF8 , вот эта самая шутка и помогла мне.
Или я что-то не так понял?
ego
спасибочки irage ты меня обнадежил,мне даже неудобно. :) щас попробую вставить правильно в бд.пчп

тут версия нюки 7.9

тут только mysql4.php

добавлено

QUOTE
}

$db = new sql_db($dbhost, $dbuname, $dbpass, $dbname, false);
if(!$db->db_connect_id) {
   die("<br><br><center><img src=images/logo.gif><br><br><b>There seems to be a problem with the $dbtype server, sorry for the inconvenience.<br><br>We should be back shortly.</center></b>");
mysql_query ("set character_set_client='cp1251'", $db);
mysql_query ("set character_set_results='cp1251'", $db);
mysql_query ("set collation_connection='cp1251_general_ci'", $db);
}

?>

ничего

опустил за }

получил

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/fanguru/domains/fanguru.com/public_html/db/db.php on line 98/99/100
ego
QUOTE (Uzaren @ 27-10-2005, 11:41)
QUOTE (irage @ 27-10-2005, 19:22)
Уз, это тонкая шутка???
У меня была похожая проблема с Invision форумом, отображалась всякая крякозябра, то есть апачи был настроен, на UTF8 , вот эта самая шутка и помогла мне.
Или я что-то не так понял?
мне кажется ,но я не уверен :) это чтобы браузер с нужной кодировкой открывал.
Я пробовал не то
irage
Хм. ООП. Это конечно хоорошо, но не всегда я люблю ООП. Можно попробовать так (это кусок mysql4.php):

CODE

//
// Base query method
//
function sql_query($query = "", $transaction = FALSE)
{
//
// Remove any pre-existing queries
//
unset($this->query_result);

if( $query != "" )
{
$this->num_queries++;
if( $transaction == BEGIN_TRANSACTION && !$this->in_transaction )
{
$result = mysql_query("BEGIN", $this->db_connect_id);
if(!$result)
{
return false;
}
$this->in_transaction = TRUE;
}

$this->query_result = mysql_query($query, $this->db_connect_id);



так вот, можно перед последней строкой $this->query_result = mysql_query($query, $this->db_connect_id); вставить:

CODE

$this->query_result = mysql_query("set character_set_client='cp1251'", $this->db_connect_id);
$this->query_result = mysql_query("set character_set_results='cp1251'", $this->db_connect_id);
$this->query_result = mysql_query("set collation_connection='cp1251_general_ci'", $this->db_connect_id);
ego
вставил,круто :)

Огромное тебе спасибо irage .Эххх когда руки до самого пчп доростут.Пока только в нюке с горем пополам и с помощью :)

теперь пишет на русском и читает новые посты тоже на русском....но с самой базой всеравно что то не так :( главная всеравно в вопросах.Очевидно залилось чтото не так.Но

Но это уже хорошо,всеравно буду там все менять потихоньку
irage
QUOTE (ego @ 28-10-2005, 02:26)
вставил,круто :) теперь пишет на русском и читает новые посты тоже на русском....но с самой базой всеравно что то не так :( главная всеравно в вопросах.

Но это уже хорошо всеравно буду там все менять потихоньку
Главная может не использовать этот файл, особенно если это какой-то мод. Поищи где главная обращается к базе и подправь. А почему ты думаешь что с базой что-то не так?
ego
все просто... сейчас пишу посты и все такое все пишется хорошо.Все что касаемо самой нюки веб формы и все такое тоже гуд.А вот то что изначально типа первые посты на главной меню которые в базе сидят все в вопросах,щас если захожу меняю на русс все ок
Может всетаки саму базу надо было переделать?
ego
хм... создал юзера с русским именем,так немогу теперь ним залогинится,неужто что то всетаки не так :(

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

А нельзя ли как всю базу пока она маленькая перегнать в нормальную кодировку?
Я пробовал в ютф8 с помощью ИЕ.Оно не помогало может есть другие способы какие?

тут похожая трабла они чего то там с базой делали
ego
вот прошелся еще раз по сайтам,в одном месте сказали то базу нужно заливать в latin1 тоесть указать такую кодировку файла,прошло на ура хотя во всех мануала пишут что именно cp1251
Только в базе кракозябры если например делаю юзера с русским именем.Но в самой нюке все ок.

если так

mysql_query ("set character_set_client='latin1'");
mysql_query ("set character_set_results='latin1'");
mysql_query ("set collation_connection=' latin1_swedish_ci'");

то ничего,пишет кракозябры в базу

если вставляю

mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");

то получаю знаки вопросов на главной
ego
вобщем решил я это дело тоесть отображается на русском и на сайте и в базе
для этого я вставил В файле mainfile.php (выделено жирным)

QUOTE
       require_once("includes/sql_layer.php");
       $dbi = sql_connect($dbhost, $dbuname, $dbpass, $dbname);
}
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");

$mainfile = 1;

и воспользовавшись дампером от нюки перелил базу и онеа получила нужное сравнение тоесть cp1251_general_ci

Спасибо всем за помощь
ego
всетаки решили мы выставить кодировку по умолчанию а то каждый раз копаться в коде напрягает и бекап выходит с каракулями

Подскажите что написать вместо CREATE TABLE в базе INSERT или UPDATE чтобы заменило то что есть и не ругалось на то что такие таблицы уже существуют?

вот решил сделать бекап базы ввожу в шел
[эго@55 ~]# mysql -u юзер -p forumjoy_forum>/home/forumjoy/backup.sql;   
Enter password:

после ввода пасса молчание и создается файл нулевой длины,что не так?
irage
QUOTE (ego @ 04-11-2005, 04:03)
всетаки решили мы выставить кодировку по умолчанию а то каждый раз копаться в коде напрягает и бекап выходит с каракулями

Подскажите что написать вместо CREATE TABLE в базе INSERT или UPDATE чтобы заменило то что есть и не ругалось на то что такие таблицы уже существуют?

вот решил сделать бекап базы ввожу в шел
[эго@72 ~]# mysql -u юзер -p forumjoy_forum>/home/forumjoy/backup.sql;   
Enter password:

после ввода пасса молчание и создается файл нулевой длины,что не так?
я не совсем понял что ты именно хочешь сделать. INSERT и UPDATE - это операции с записями. Если тебе надо поменять таблицы то надо использовать ALTER TABLE. Что не так невозможно сказать по причине незнания содержимого backup.sql

И почему ты с базой из шелла работаешь? Удобней использовать какой-нибудь менеджер вроде EMS MySQL manager или phpMyAdmin на крайний случай.
ego
шелл это все что есть)) phpMyAdmin у него там органичение на заливаемую базу в 2 мега.А например Мускул Администратор не пускает сервак.Сервер рабочий я стремаюсь туда ставить что попало,юзаю то что есть))

Я сделал бекап,имею проблемы с кодировками,страшное дело.Пытаюсь поправить но штирлиц на 15 мегах виснет,в линуксе есть куча прог но например коменты к таблицам пишет на русском а контент ячеек на русском кракозябры.
Вот после снятия бекапа все там CREATE TABLE стоит,тоесть чтобы откатиться нужно стереть все.А я хочу просто заменить то что есть в файле запросов.

Ну вот просто этой командой я хотел через шел сделать бекап того что есть но выходит файл пустой может я чего не так написал?
FiL
бакап делается коммандой mysqldump.
ego
FiL  спасиб,понял :)
Uzaren
А  ещё есть классный скрипт, котрый делает бекап, много раз им пользовался, всё очень просто и удобно.
Скачать
Все подробности и описания здесь Site Keeper Dumper LE

user posted image user posted image
ego
Uzaren  да я тоже его обнаружил ,спасибо
ego
может кто подскажет какой запрос к мускулу надо выполнить чтобы изменить поле
Сравнение с latin1...  на          cp1251_general_ci  во всей таблице сразу.
irage
QUOTE (ego @ 05-11-2005, 10:15)
может кто подскажет какой запрос к мускулу надо выполнить чтобы изменить поле
Сравнение с latin1...  на          cp1251_general_ci  во всей таблице сразу.
Именно одно поле? Тогда:

CODE

ALTER TABLE `имя таблицы` CHANGE `имя поля` `имя поля` CHAR( 1 ) CHARACTER SET cp1251 COLLATE cp1251_general_ci NOT NULL


только CHAR(1) поменяй на структуру твоего поля.
ego
QUOTE
`имя поля` `имя поля` CHAR( 1 )

тоесть я могу дать команду одной таблице и мне нужно ввести все поля а что такое CHAR( 1 ) я несовсем понял....

я может неправильно высказался...имя поля я имел это название столбца  "сра&#1490;внение"

К примеру есть таблица,нужно Везде изменить ,тоесть везде где я вижу в столбце эту кодировку latin1.Я я похожую команду в мануале видел к мускулу,пойду гляну. :)
obaldin
QUOTE (ego @ 05-11-2005, 21:33)
я может неправильно высказался...имя поля я имел это название столбца  "сранение"
Ты имел в виду что-то вроде

UPDATE таблица SET Сравнение='cp1251'

?
ego
QUOTE (obaldin @ 05-11-2005, 13:44)
QUOTE (ego @ 05-11-2005, 21:33)
я может неправильно высказался...имя поля я имел это название столбца  "сранение"
Ты имел в виду что-то вроде

UPDATE таблица SET Сравнение='cp1251'

?
аха...причем везде хочу :)

звание штатного телепата потверждаю  ;)
irage
ты написал

QUOTE
может кто подскажет какой запрос к мускулу надо выполнить чтобы изменить поле

обрати внимание на последнее слово - поле это не таблица. Что просил, то и получил  ;)
irage
Ах да, забыл совсем:

CODE

ALTER DATABASE `имя таблицы` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci
ego
хех,спасибо всем за помщь и терпение :)
Хех,да я понял уже что лажанулся :D
obaldin
QUOTE (ego @ 06-11-2005, 00:01)
аха...причем везде хочу :)
Здесь уже не понимаю :)

QUOTE
звание штатного телепата потверждаю  ;)
Не, куда уж мне... Так, могу от случая к случаю в хрустальный шар глянуть, но не более
FiL
QUOTE (ego @ 05-11-2005, 16:33)
я может неправильно высказался...имя поля я имел это название столбца  "сранение"
странные у тебя поля в таблице...
ego
вы уж извените мне мои ламерские выпады,тольго постигаю азы этого,так что вполне может быть непонятка с трактовками  :)

QUOTE
ALTER DATABASE `имя таблицы` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci

это поменяло в датабазе чарсет а в таблицах все осталось как было

QUOTE
CHAR( 1 )
вот это где посмотреть и что это я так и непонял.

Есть база данных форума вобла.В ней таблицы разные никак неполучается изменить чарсет везде где только можно.Когда устанавливаю воблу он автоматом ставит тот чарсет который по умолчанию на мускуле.Может когда устанавливаю форум в файле mysql-schema.php  дето добавить чарсеты?Вот фрагмент

QUOTE


error_reporting(E_ALL & ~E_NOTICE);

define('SCHEMA', 'mysql');

if (!is_object($db))
{
        die('<strong>MySQL Schema</strong>: $db is not an instance of the vB Database class. This script requres the escape_string() method from the vB Database class.');
}

$phrasegroups = array();
$specialtemplates = array();

// Check userfield table is still used and how long the default length should be

$schema['CREATE']['query']['access'] = "
CREATE TABLE " . TABLE_PREFIX . "access (
        userid INT UNSIGNED NOT NULL DEFAULT '0',
        forumid SMALLINT UNSIGNED NOT NULL DEFAULT '0',
        accessmask SMALLINT UNSIGNED NOT NULL DEFAULT '0',
        PRIMARY KEY userid (userid, forumid)
)
";
$schema['CREATE']['explain']['access'] = sprintf($vbphrase['create_table'], TABLE_PREFIX . "access");

$schema['CREATE']['query']['adminhelp'] = "
CREATE TABLE " . TABLE_PREFIX . "adminhelp (
        adminhelpid INT UNSIGNED NOT NULL AUTO_INCREMENT,
        script VARCHAR(50) NOT NULL DEFAULT '',
        action VARCHAR(25) NOT NULL DEFAULT '',
        optionname VARCHAR(25) NOT NULL DEFAULT '',
        displayorder SMALLINT UNSIGNED NOT NULL DEFAULT '1',
        volatile SMALLINT UNSIGNED NOT NULL DEFAULT '0',
        PRIMARY KEY (adminhelpid),
        product VARCHAR(25) NOT NULL,
        UNIQUE KEY phraseunique (script, action, optionname)
)
";
$schema['CREATE']['explain']['adminhelp'] = sprintf($vbphrase['create_table'], TABLE_PREFIX . "adminhelp");



$schema['CREATE']['query']['administrator'] = "
CREATE TABLE " . TABLE_PREFIX . "administrator (
        userid INT UNSIGNED NOT NULL DEFAULT '0',
        adminpermissions INT UNSIGNED NOT NULL DEFAULT '0',
        navprefs MEDIUMTEXT NOT NULL,
        cssprefs VARCHAR(250) NOT NULL,
        notes MEDIUMTEXT NOT NULL,
        languageid SMALLINT UNSIGNED NOT NULL DEFAULT '0',


        PRIMARY KEY (userid)

ego
QUOTE
ALTER TABLE `имя таблицы` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci
вот так проконало...поменялась конкретная таблица теперь,а т поля в ней не меняются?Можно что нить глобальное такое?
Set
Для мускула есть родные утилиты с нормальным GUI: MySQL Administrator, MySQL Query Browser. В них можно посмотреть какие запросы и как.
ego
QUOTE (Set @ 06-11-2005, 07:29)
Для мускула есть родные утилиты с нормальным GUI: MySQL Administrator, MySQL Query Browser. В них можно посмотреть какие запросы и как.
я уже писал,что нету доступа,или шелл или пчпмайадмин

Эх ,решили мы ваще его переставить этот мускул.Поставить версию постарее,меня еще интересует он ведь как то там завязан с разными прогами типа дайректадмин и пчп,после переустановки непотянет ли он все за собой.
irage
QUOTE (ego @ 06-11-2005, 23:19)
QUOTE (Set @ 06-11-2005, 07:29)
Для мускула есть родные утилиты с нормальным GUI: MySQL Administrator, MySQL Query Browser. В них можно посмотреть какие запросы и как.
я уже писал,что нету доступа,или шелл или пчпмайадмин

Эх ,решили мы ваще его переставить этот мускул.Поставить версию постарее,меня еще интересует он ведь как то там завязан с разными прогами типа дайректадмин и пчп,после переустановки непотянет ли он все за собой.
Я однажды пытался откатится, но он при установке еще много чего требует, легче было оставить.

В phpmyadmin чарсеты прекрасно меняются для чего угодно, не знаю в чем у тебя проблема.

Вот что я бы попрбовал. Так как ты умеешь изменять чарсет у базы, можно сделать так.

1. Создаешь базу для своего нюка с нуля. При создании или сразу после указываешь нужный чарсет и collate.

2. Судя по содержимому mysql-schema.php чарсеты у тебя явно не указаны, поэтому помоему они должны унаследоваться от родительской базы.

ego
попробую,спасибо
Set
QUOTE (ego @ 06-11-2005, 21:19)
QUOTE (Set @ 06-11-2005, 07:29)
Для мускула есть родные утилиты с нормальным GUI: MySQL Administrator, MySQL Query Browser. В них можно посмотреть какие запросы и как.
я уже писал,что нету доступа,или шелл или пчпмайадмин
Поставь на десктоп и извращайся, как заработает - применишь на серваке.
ego
да на десктопе есть и клиент и все остальное,работает все без танцев с бубнами
ego
непомогает ,в принудительной таблице создается все ок у все полей правильная кодировка но... все теперь в вопросиках пошло...

в вовбле нашел такую вот опцию в конфиг.пчп ,но тоже не помогает

QUOTE
// Дополнительно для Mysql 4.1.13+ или 5.1.10+ и PHP 5.1.0+ вы можете установить кодировку
// символов после завершения соединения с базой данных. $config['Mysqli']['charset'] = 'ср1251';

Посмотрел на серваке нет никаких файлов для чарсетов,в смысле
/usr/local/mysql4/share/charsets
нету такого,вот и получается что значит на серваке и не может быть никаких кодировок кроме ютф8
Brait
QUOTE (ego @ 08-11-2005, 09:50)
непомогает ,в принудительной таблице создается все ок у все полей правильная кодировка но... все теперь в вопросиках пошло...
После создания коннекта к базе самый первый запрос должен быть:
CODE

SET NAMES 'cp1251';


Это полный аналог группы команд:
CODE

SET character_set_client = 'cp1251';
SET character_set_connection = 'cp1251';
SET character_set_results = 'cp1251';


Судя по всему, у vB работа с базой вынесена в отдельный класс. Найди его, и в функции соединения с базой, после вызова mysql_connect(), выполни mysql_query("SET NAMES 'cp1251'"). Только поосторожней, там может оказаться всяческая проверка на правильность соединения и т.д. Тогда команду лучше поставить уже после проверки...

В результате у тебя скрипт будет отправлять данные в windows-1251 (set_client), сервер будет работать с данными в режиме windows-1251 (set_connection), база хранит данные в windows-1251 (настройка CHARACTER SET базы), и скрипт будет получать данные в windows-1251 (set_results).

Пробуй, должно работать.
ego
QUOTE
$config['Mysqli']['charset'] = 'ср1251';

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

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