Zadejte hledaný výraz...

Set character set

davchy
verified
rating uzivatele
(6 hodnocení)
6. 9. 2015 22:15:38
Zdravím,
řeším problém, kdy v aplikaci se mi sice kódování zobrazuje dobře v UTF-8, ale v databázi mám rozsypaný čaj a jelikož sem tam musím občas udělat (nebo něco najít) v phpMyAdminu a navíc to zlobí i při řazení, potřeboval bych ho vyřešit. Tabulka je v utf8 a COLLATE utf8_czech_ci. Normálně bych použil něco takového
jenomže kód aplikace přesahuje mé znalosti. Může mi někdo prosím zakomponovat SET CHARACTER SET do tohoto kódu, který se vždy používá při práci s DB? :
defined('PHPFOX') or exit('NO DICE!');
Phpfox::getLibClass('phpfox.database.dba');
/**
* Database layer for phpFox. All interactions with a database is done via this class.
* It connects to a specific driver such as MySQL or MySQLi or Oracle based on the
* site owners needs.
*
* Example use of an SQL query:
*
* Phpfox_Database::instance()->query('SELECT * FROM user');
*
*
* Example use to get multiple rows from a table:
*
* $aRows = Phpfox_Database::instance()->select('*')
* ->from('user')
* ->where('user_name = 'foo'')
* ->execute('getRows');
*
*
* Example to insert data into the database:
*
* Phpfox_Database::instance()->insert('user', array(
* 'email' => 'foo@bar.com',
* 'full_name' => 'Full Name'
* )
* );
*
*
* Example to update a record:
*
* Phpfox_Database::instance()->update('user', array('email' => 'foo@bar.com'), 'user_id = 1');
*
*
* Example to delete a record:
*
* Phpfox_Database::instance()->delete('user', 'user_id = 1');
*
*
* @copyright
* @author Raymond Benc
* @package Phpfox
* @version $Id: database.class.php 1666 2010-07-07 08:17:00Z Raymond_Benc $
*
* @method Phpfox_Database_Driver_Mysql select($select)
* @method Phpfox_Database_Driver_Mysql update($table, $fields, $where)
* @method Phpfox_Database_Driver_Mysql insert($table, $fields)
* @method Phpfox_Database_Driver_Mysql delete($table, $where)
*/
class Phpfox_Database
{
/**
* Holds the drivers object
*
* @var Phpfox_Database_Driver_Mysql
*/
private static $_oObject = null;
/**
* Loads and initiates the SQL driver that we need to use.
*
*/
public function __construct()
{
if (!self::$_oObject)
{
$sDriver = 'phpfox.database.driver.mysqli';
self::$_oObject = Phpfox::getLib($sDriver);
self::$_oObject->connect(Phpfox::getParam(array('db', 'host')), Phpfox::getParam(array('db', 'user')), Phpfox::getParam(array('db', 'pass')), Phpfox::getParam(array('db', 'name')));
}
}
/**
* Return the object of the storage object.
*
* @return object Object provided by the storage class we loaded earlier.
*/
public function &getInstance()
{
return self::$_oObject;
}
/**
* @return Phpfox_Database_Driver_Mysql
*/
public static function instance() {
if (!self::$_oObject) {
new self();
}
return self::$_oObject;
}
public function __call($method, $args) {
return call_user_func_array(, $args);
}
}
Mockrát děkuji.
6. 9. 2015 22:15:38
https://webtrh.cz/diskuse/set-character-set/#reply1138714
Dlaha
verified
rating uzivatele
(1 hodnocení)
6. 9. 2015 22:47:43
nechce se mi číst kód té třídy, ale dle:
by mělo stačit na konec vložit
6. 9. 2015 22:47:43
https://webtrh.cz/diskuse/set-character-set/#reply1138713
davchy
verified
rating uzivatele
(6 hodnocení)
7. 9. 2015 08:10:45
Děkuji, ale toto řešení by znamenalo, že bych musel upravit každé volání funkce, kterých je v kódu aplikace stovky. Spíše jsem myslel, že by se nastavení kódování zakomponovalo do té samotné funkce. Takto to nejde?
7. 9. 2015 08:10:45
https://webtrh.cz/diskuse/set-character-set/#reply1138712
Dlaha
verified
rating uzivatele
(1 hodnocení)
7. 9. 2015 08:22:21
myslel jsem, že by se to vložilo hned za kód té třídy a tak by se to volalo pokaždé
pokud to chce implementetovat, tak je tedy potřeba upravit funkci __construct()
7. 9. 2015 08:22:21
https://webtrh.cz/diskuse/set-character-set/#reply1138711
davchy
verified
rating uzivatele
(6 hodnocení)
7. 9. 2015 08:52:01
Mockrát děkuji, funguje.
Nevím zda dalším elementárním dotazem nebudu již otravný, ale dá se toto i nějak nastavit na straně MySQL defaultně? Tak, aby se ušetřilo toto query navíc. Pokud by taková možnost existovala, třeba by se mi podařilo hosting přesvědčit k nastavení.
7. 9. 2015 08:52:01
https://webtrh.cz/diskuse/set-character-set/#reply1138710
Dlaha
verified
rating uzivatele
(1 hodnocení)
7. 9. 2015 08:59:24
Není zač, budu rád za kladné honocení.
http://stackoverflow.com/questions/5842980/a-permanent-way-of-doing-mysqli-set-charset
7. 9. 2015 08:59:24
https://webtrh.cz/diskuse/set-character-set/#reply1138709
Pro odpověď se přihlašte.
Přihlásit