2017-05-28 7 views

答えて

1

いくつかの方法があります:

1)使用するSQLクエリは:あなたが怒鳴るようないくつかのクエリを使用することができます。この場合

$this->db->query("SET NAMES 'utf8'"); 
$this->db->query("SET CHARACTER SET utf8;"); 
$this->db->query("SET character_set_connection=utf8;"); 

あなたはあなたの中にこれらのクエリを置く必要がありますデータベースドライバファイル。

public function __construct($hostname, $username, $password, $database, $port = '3306') { 
     $this->link = new \mysqli($hostname, $username, $password, $database, $port); 

    if ($this->link->connect_error) { 
     trigger_error('Error: Could not make a database link (' . $this->link->connect_errno . ') ' . $this->link->connect_error); 
     exit(); 
    } 

    $this->link->query("SET NAMES 'utf8'"); 
    $this->link->query("SET CHARACTER SET utf8"); 
    $this->link->query("SET character_set_connection=utf8;"); 
    $this->link->query("SET SQL_MODE = ''"); 
} 

2)変更データベースの文字セットを:ここで私はmysqliのは、私は怒鳴るように、このディレクトリopencart\system\library\db\mysqli.phpmysqli.phpにコードを置く必要があります使用しています

しかし、それは文句を言わないあなたの問題を解決するため、いくつかの例です。テーブル内のすべてのテーブルとカラムについてデータベースCollationを確認し、utf8_general_ciに設定する必要があります。

これを行うには、ALTER TABLE YOUR_TABLE_NAME DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;を使用してテーブルの文字セットを変更し、ALTER TABLE YOUR_TABLE_NAME CHANGE COLUMN_NAME CHARACTER SET utf8 COLLATE utf8_general_ci;を使用して列の文字セットを変更します。

非常に多くのテーブルや列がある場合は、ファイルを.sql形式にエクスポートしてからメモ帳で開き、すべてlatin1(ファイルの文字セットはファイル名が異なる場合があります) utf8を保存し、この新しいデータベースファイルを使用してください。

3)変更ファイルフォーマット:この場合、

、あなたはメモ帳を使用してファイルを開き、file menu/save asを使用して、WindowsがUTF-8encodingを変更するようなセーブでなければならないファイルがecho or printを使用している場合(これは、主に役立ちますいくつかの文字列を表示する...

希望します。

関連する問題