Страница 1 из 2
utf8 versus cp1251
Добавлено: 2009-01-31 13:56:14
voider
значит такая беда у меня насерваке стоят настройки ниже.
---- Файл my.cnf
Код: Выделить всё
[client]
# Для местного клиента
default-character-set=cp1251
....
[mysqld]
# Для всего сервера
default-character-set=cp1251
....
но я захотел сделать кодировку utf8
как сделать ,чтоб для каждого сайта виртуального хостинга были свои настройки для клиента
пример ставлю vbullку в ut8 а она мне вопросики

я должен поменять
в файле
my.cnf
Код: Выделить всё
[client]
# Для местного клиента
default-character-set=utf8
? не будет ли это влиять на другие сайты, где используеться предыдущая схема см.выше и ка клучше я вот хочу перейти только на ut8 навсегда ,чтоб не париться ,чтоб могли китайцы свои ироглифы оставлять или там испанцы

)
Re: utf8 versus cp1251
Добавлено: 2009-01-31 14:02:04
zg
по дефолту никак, только для системных пользователей через ~/my.cnf. Лучше пусть каждый скрипт сам решает в какой кодировке он будет работать через
Re: utf8 versus cp1251
Добавлено: 2009-01-31 14:26:54
voider
дело втом где я в булетене это в пишу?
Re: utf8 versus cp1251
Добавлено: 2009-01-31 14:30:51
Volodymyr
voider писал(а):дело втом где я в булетене это в пишу?
В любой системе ищите такое:
Код: Выделить всё
mysql_connect(HOST, USER_DB, PASS_DB);
mysql_select_db(DB);
Єто соедениение с сервером БД и выбор базы для роботы. Вот после него вписывате.
Re: utf8 versus cp1251
Добавлено: 2009-01-31 14:47:26
voider
ну это же времмено? я перезапущю сервак и все собъеться тогда что?
Re: utf8 versus cp1251
Добавлено: 2009-01-31 14:50:23
zg
voider писал(а):ну это же времмено?
нет, это будет срабатывать каждый раз, когда будет срабатывать скрипт, надо только добавить это в скрипт.
voider писал(а):я перезапущю сервак и все собъеться тогда что?
не собьётся, даже если скрипт перенести на другой сервер.
Re: utf8 versus cp1251
Добавлено: 2009-01-31 14:51:21
Volodymyr
Єто о надо код РНР добавить.
Re: utf8 versus cp1251
Добавлено: 2009-01-31 15:12:01
voider
кажись я нашел эту строчку в class_core.php
Код: Выделить всё
function connect($database, $w_servername, $w_port, $w_username, $w_password, $w_usepconnect = false, $r_servername = '', $r_port = 3306, $r_username = '', $r_password = '', $r_usepconnect = false, $configfile = '', $charset = '')
там ничего не записано? наверно она откудато берет эти данные

из по умолчание чтоли?

Re: utf8 versus cp1251
Добавлено: 2009-01-31 15:14:56
voider
странно что там 2 строчки вот еще одна
Код: Выделить всё
function db_connect($servername, $port, $username, $password, $usepconnect, $configfile = '', $charset = '')
Re: utf8 versus cp1251
Добавлено: 2009-01-31 15:22:10
voider
все я понял нижняя длая мускул лайт

верхню юзаюзаю и скажу получилось или нет

Re: utf8 versus cp1251
Добавлено: 2009-01-31 16:13:10
voider
блин неполучаетсьязахожу в пхп майадмин вот что пишет
Код: Выделить всё
script varchar(50) cp1251_general_ci Нет
action varchar(25) cp1251_general_ci Нет
optionname varchar(100) cp1251_general_ci
я уже зло й

Re: utf8 versus cp1251
Добавлено: 2009-01-31 16:31:31
zg
voider писал(а):я уже зло й
это структура таблицы, чтобы её изнемнить надо пересоздать таблицу
Re: utf8 versus cp1251
Добавлено: 2009-01-31 17:10:16
voider
это структура таблицы, чтобы её изнемнить надо пересоздать таблицу
а изменить нельзя ?

)
кароче я когда создавал вордпресс то там п умолчанию utf8 а у булки походу cp1251 че делать не знаю
вот кусок из этой фигни
куда вот добавить нужную строчку?
Код: Выделить всё
class vB_Database
{
/**
* Array of function names, mapping a simple name to the RDBMS specific function name
*
* @var array
*/
var $functions = array(
'connect' => 'mysql_connect',
'pconnect' => 'mysql_pconnect',
'select_db' => 'mysql_select_db',
'query' => 'mysql_query',
'query_unbuffered' => 'mysql_unbuffered_query',
'fetch_row' => 'mysql_fetch_row',
'fetch_array' => 'mysql_fetch_array',
'fetch_field' => 'mysql_fetch_field',
'free_result' => 'mysql_free_result',
'data_seek' => 'mysql_data_seek',
'error' => 'mysql_error',
'errno' => 'mysql_errno',
'affected_rows' => 'mysql_affected_rows',
'num_rows' => 'mysql_num_rows',
'num_fields' => 'mysql_num_fields',
'field_name' => 'mysql_field_name',
'insert_id' => 'mysql_insert_id',
'escape_string' => 'mysql_escape_string',
'real_escape_string' => 'mysql_real_escape_string',
'close' => 'mysql_close',
'client_encoding' => 'mysql_client_encoding',
);
/**
* The vBulletin registry object
*
* @var vB_Registry
*/
var $registry = null;
/**
* Array of constants for use in fetch_array
*
* @var array
*/
var $fetchtypes = array(
DBARRAY_NUM => MYSQL_NUM,
DBARRAY_ASSOC => MYSQL_ASSOC,
DBARRAY_BOTH => MYSQL_BOTH
);
/**
* Full name of the system
*
* @var string
*/
var $appname = 'vBulletin';
/**
* Short name of the system
*
* @var string
*/
var $appshortname = 'vBulletin';
/**
* Database name
*
* @var string
*/
var $database = null;
/**
* Link variable. The connection to the master/write server.
*
* @var string
*/
var $connection_master = null;
/**
* Link variable. The connection to the slave/read server(s).
*
* @var string
*/
var $connection_slave = null;
/**
* Link variable. The connection last used.
*
* @var string
*/
var $connection_recent = null;
/**
* Whether or not we will be using different connections for read and write queries
*
* @var boolean
*/
var $multiserver = false;
/**
* Array of queries to be executed when the script shuts down
*
* @var array
*/
var $shutdownqueries = array();
/**
* The contents of the most recent SQL query string.
*
* @var string
*/
var $sql = '';
/**
* Whether or not to show and halt on database errors
*
* @var boolean
*/
var $reporterror = true;
/**
* The text of the most recent database error message
*
* @var string
*/
var $error = '';
/**
* The error number of the most recent database error message
*
* @var integer
*/
var $errno = '';
/**
* SQL Query String
*
* @var integer The maximum size of query string permitted by the master server
*/
var $maxpacket = 0;
/**
* Track lock status of tables. True if a table lock has been issued
*
* @var bool
*/
var $locked = false;
/**
* Number of queries executed
*
* @var integer The number of SQL queries run by the system
*/
var $querycount = 0;
/**
* Constructor. If x_real_escape_string() is available, switches to use that
* function over x_escape_string().
*
* @param vB_Registry Registry object
*/
function vB_Database(&$registry)
{
if (is_object($registry))
{
$this->registry =& $registry;
}
else
{
trigger_error("vB_Database::Registry object is not an object", E_USER_ERROR);
}
}
Код: Выделить всё
*/
function connect($database, $w_servername, $w_port, $w_username, $w_password, $w_usepconnect = false, $r_servername = '', $r_port = 3306, $r_username = '', $r_password = '', $r_usepconnect = false, $configfile = '', $charset = 'utf-8')
{
$this->database = $database;
$w_port = $w_port ? $w_port : 3306;
$r_port = $r_port ? $r_port : 3306;
$this->connection_master = $this->db_connect($w_servername, $w_port, $w_username, $w_password, $w_usepconnect, $configfile, $charset);
$this->multiserver = false;
$this->connection_slave =& $this->connection_master;
if ($this->connection_master)
{
$this->select_db($this->database);
}
}
Re: utf8 versus cp1251
Добавлено: 2009-01-31 18:20:14
voider
вот уменя чего в системе
может ктоньть вразумин ою бошку я ваще запутался
Код: Выделить всё
basedir /usr/local/mysql-5.0.22-freebsd6.0-i386/
binlog cache size 32,768
bulk insert buffer size 8,388,608
character set client utf8
(Global value) cp1251
character set connection utf8
(Global value) cp1251
character set database cp1251
character set filesystem binary
character set results utf8
(Global value) cp1251
character set server cp1251
character set system utf8
character sets dir /usr/local/mysql-5.0.22-freebsd6.0-i386/share/mysql/charsets/
collation connection utf8_unicode_ci
(Global value) cp1251_general_ci
collation database cp1251_general_ci
Re: utf8 versus cp1251
Добавлено: 2009-01-31 18:53:47
zg
данные хранятся в 1251, а поступают к клиенту в UTF-8
Re: utf8 versus cp1251
Добавлено: 2009-01-31 19:17:38
voider
ура решил проблему всего лишь
вместо
Код: Выделить всё
[client]# Для местного клиента default-character-set=cp1251
....
[mysqld]# Для всего сервера default-character-set=cp1251
вписал
Код: Выделить всё
[client]# Для местного клиентаdefault-character-set=utf8
....
[mysqld]# Для всего сервера default-character-set=utf8
Re: utf8 versus cp1251
Добавлено: 2009-01-31 19:20:35
voider
zg писал(а):данные хранятся в 1251, а поступают к клиенту в UTF-8
я как раз это и понял под конец мучений

вот как изменилось ,но одно не могу понять
Код: Выделить всё
collation connection utf8_unicode_ci
(Глобальное значение) utf8_general_ci
несвоместимы совсем как хотелось бы ,но работает
Код: Выделить всё
character set client utf8
character set connection utf8
character set database utf8
character set filesystem binary
character set results utf8
character set server utf8
character set system utf8
character sets dir /usr/local/mysql-5.0.22-freebsd6.0-i386/share/mysql/charsets/
collation connection utf8_unicode_ci
(Глобальное значение) utf8_general_ci
collation database utf8_general_ci
collation server utf8_general_ci
Re: utf8 versus cp1251
Добавлено: 2009-01-31 19:38:29
zg
voider писал(а):utf8_unicode_ci
тебе надо г
енерал
Re: utf8 versus cp1251
Добавлено: 2009-01-31 20:04:45
voider
я нашел как не меняя настройки сервера получить тоже самое ,но в другой кодировке но мне нужно было utf8
как вирант могу предложить джедайский способ правка файла init.php в папке includes
Находишь вот такую строчку
PHP код:
это примерно 183-185 строчка, НАД этим добовляешь
PHP код:
Код: Выделить всё
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
Re: utf8 versus cp1251
Добавлено: 2009-01-31 20:14:53
voider
2 zg пасибо ,что навел на мысли

Re: utf8 versus cp1251
Добавлено: 2009-01-31 20:35:23
zg
всё таки рекомендую ознакомится с мануалом и проработать вопрос с кодировками
Re: utf8 versus cp1251
Добавлено: 2009-01-31 20:51:22
voider
дая как параллейно и читал мануал
http://www.lissyara.su/?id=1655
Re: utf8 versus cp1251
Добавлено: 2009-01-31 21:37:09
zg
Re: utf8 versus cp1251
Добавлено: 2009-01-31 22:03:51
voider
многа букавок ,да и пока ни к чему раз разобрался

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

в постгри мона

Re: utf8 versus cp1251
Добавлено: 2009-01-31 23:17:20
zg
voider писал(а):возможно ли в мускуле многомерные таблицы создавать
это кто и зачем их создавать на уровне мускула?
voider писал(а):раз разобрался
-))))