Енкодинг на ДБ?

Lam40

Registered
Защо когато форума ми е на английски, когато пиша на български всичко си излиза добре, обаче като сменя езика на български и пишат на български ми излизат "??????? ?? ?? ????". Мисля, че е от енкодинга на базата данни. В момента е на cp1251_bulgarian_ci и не става. Какво трябва да направя, за да го оправя. За пръв път имам този проблем :(
 
намери файла db.sql - папката на форума - includes/db.sql

и замени съдържаноето му с това

Код:
<?php
/***************************************************************************
 *                                 db.php
 *                            -------------------
 *   begin                : Saturday, Feb 13, 2001
 *   copyright            : (C) 2001 The phpBB Group
 *   email                : support@phpbb.com
 *
 *   $Id: db.php,v 1.10.2.3 2005/10/30 15:17:14 acydburn Exp $
 *
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   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 ( !defined('IN_PHPBB') )
{
	die("Hacking attempt");
}

switch($dbms)
{
	case 'mysql':
		include($phpbb_root_path . 'db/mysql.'.$phpEx);
		break;

	case 'mysql4':
		include($phpbb_root_path . 'db/mysql4.'.$phpEx);
		break;

	case 'postgres':
		include($phpbb_root_path . 'db/postgres7.'.$phpEx);
		break;

	case 'mssql':
		include($phpbb_root_path . 'db/mssql.'.$phpEx);
		break;

	case 'oracle':
		include($phpbb_root_path . 'db/oracle.'.$phpEx);
		break;

	case 'msaccess':
		include($phpbb_root_path . 'db/msaccess.'.$phpEx);
		break;

	case 'mssql-odbc':
		include($phpbb_root_path . 'db/mssql-odbc.'.$phpEx);
		break;
}

// Make the database connection.
$db = new sql_db($dbhost, $dbuser, $dbpasswd, $dbname, false);
$db->sql_query("SET CHARACTER SET cp1251"); 
if(!$db->db_connect_id)
{
	message_die(CRITICAL_ERROR, "Could not connect to the database");
}

?>


всъщност променената част е това:


Код:
// Make the database connection.
$db = new sql_db($dbhost, $dbuser, $dbpasswd, $dbname, false);
$db->sql_query("SET CHARACTER SET cp1251"); 
if(!$db->db_connect_id)
{
	message_die(CRITICAL_ERROR, "Could not connect to the database");
}

Май и БД-то трябва да е със cp1251_bulagrian_ci
това беше една тема в която admin го беше написал това и е МНОГо полезно :D
 
Нямаш си напредстава колко много ти благодаря. Мисля, че проблема се оправи. Благодаря vladislav. :)
 
Аз също мн ти благодаря! на админ също!
 

Back
Горе