2016-07-14 71 views
7

Buona giornata,Codeigniter che non accetta "utf8mb4" come set di caratteri predefinito

Sto utilizzando Codeigniter per sviluppare la mia webapp. La versione PHP sul server è 5.6.22 e la versione Mysql del db è 5.6.27. In database.php di CodeIgniter quando cambio il set di caratteri a "utf8mb4" da "utf8", ottengo il seguente messaggio (immagine allegata)

Impossibile impostare set di client di caratteri di connessione:. Utf8mb4

enter image description here

UPDATE posso eseguire l'applicazione codeigniter su un altro server che ha la stessa versione di PHP e la stessa versione di MySQL. Quindi deve essere qualcosa riguardante httpd.conf o php.ini, forse?

+0

ha cambiato il set di caratteri del database in tempo reale. Per farlo Leggere questo https://mathiasbynens.be/notes/mysql-utf8mb4 – pradeep

+0

Si prega di consultare l'aggiornamento. Grazie –

risposta

0

sono stato in grado di rimuovere il bug rimuovendo la mia installazione di PHP e l'installazione del httpd e php di nuovo da zero.

2

In database.php

Set char_set-utf8mb4 e dbcollat a utf8mb4_unicode_ci o utf8_general_ci


Ho provato questo con il mio Codeigniter 3,0

$db['default'] = array(
    'dbdriver' => 'mysqli', 
    'dbprefix' => '', 
    'pconnect' => FALSE, 
    'db_debug' => (ENVIRONMENT !== 'production'), 
    'cache_on' => FALSE, 
    'cachedir' => '', 
    'char_set' => 'utf8mb4', 
    'dbcollat' => 'utf8mb4_unicode_ci', 

); 

E nel controller I aggiungere questo

$CI = &get_instance(); 
$CI->load->database(); 
echo $CI->db->char_set; 
echo "<br>"; 
echo $CI->db->dbcollat; 

uscita

utf8mb4 
utf8mb4_unicode_ci 

Leggi questo

  1. Using utf8mb4 with php and mysql
+0

come so che non ci sono nulla con il 'php.ini' o' my.ini' (mysql) –

+0

Si prega di vedere la mia domanda aggiornata. Inoltre, non posso testarlo nel controller perché non mi consente di caricare la vista. Dammi solo l'errore come nello screenshot. –

+0

@WarisAli hai ancora risolto questo problema ?? –

Problemi correlati