Имеется БД с параметрами:
| character_set_client | latin1
| character_set_connection | latin1
| character_set_database | latin1
| character_set_filesystem | binary
| character_set_results | latin1
| character_set_server | latin1
| character_set_system | utf8
| collation_connection | latin1_swedish_ci
| collation_database | latin1_swedish_ci
| collation_server | latin1_swedish_ci
Добавляю в эту БД таблицу с параметром DEFAULT CHARSET=utf8
Далее делаю вставку записей в эту таблицу с кириллическими значениями.
Пробовал перед созданием таблицы, либо вставкой делать:
SET NAMES utf8
SET NAMES utf8 COLLATE utf8_general_ci
SET CHARACTER SET utf8
Все без толку, вместо кириллицы вставляются '?'
Что еще можно сделать, чтобы кириллица вставлялась корректно?
Настройки БД менять не вариант, т.к. пишу плагин для уже существующей системы.
Рассмотрите такого рода вариант.Надеюсь поможет=)
class DB
{
private static $db;
private function __construct(){}
public static function getConnection() {
if (self::$db === null){
self::$db = new mysqli('localhost', 'root','','db_name');
self::$db ->query("SET CHARSET utf8");
}
return self::$db;
}
}
Исследовал вопрос. Установил phpMyAdmin. Даже при вставке русского текста в таблицу через веб-интерфейс (при этом таблица в utf8, бд в latin1) в итоге вместо кириллицы отображаются вопросы.
В общем, выход один - переконвертация кодировки бд в utf8.
Для справки - плагин разрабатывается для FreePBX. БД FreePBX создает автоматически при установке, полагаю.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
ЗдравствуйтеЕсть таблица с диалогами и сообщениями (обычный ассоциативный запрос)
В Eclipse в редакторе кода пытаюсь открыть из своего кода класс драйвера orgpostgresql