web-dev-qa-db-ja.com

MySQLiを使用して文字セットを設定する

MySQLiを使用して、MySQLテーブルからアラビア語でデータをフェッチしています。だから私は通常これを手続き型で使用します:

mysql_query("SET NAMES 'utf8'"); 
mysql_query('SET CHARACTER SET utf8'); 

OOPスタイルを使用しているので、上記以外に設定できるものがあるかどうかを確認しようとしていますか?

私はこれをPHPマニュアルでのみ見つけたので見つけましたが、名前をUTF8に設定するのはどうですか?

$mysqli->set_charset("utf8");
15
sys_debug

それは同じだ:

$ mysqli-> query( "SET NAMES 'utf8'");

マニュアルから:

これは、文字セットを変更する好ましい方法です。 mysqli :: query()を使用してSET NAMES ..を実行することはお勧めしません。

$mysqli->set_charset("utf8");で十分です。mysqlidbドライバーに任せてください。

23
xdazz

これを使えます。 mysqli文字セットの本当にいい

$dbhost     = "localhost";
$dbuser     = "root";
$dbpass     = "dbpass";
$dbname     = "dbname";

$conn = mysqli_connect($dbhost,$dbuser,$dbpass,$dbname);
mysqli_query($conn,"SET CHARACTER SET 'utf8'");
mysqli_query($conn,"SET SESSION collation_connection ='utf8_unicode_ci'");
8
Obaidul Haque

手続き型の愛好家のため。

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);

/* change character set to utf8 */
mysqli_set_charset($conn,"utf8");
1
AMB