I have set utf8 in mysql database
now it shows
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_unicode_ci |
| collation_server | utf8_unicode_ci |
+----------------------+-----------------+
I have the below in the php code
mysql_query("SET NAMES 'utf8'");
and
$database = mysqli_connect('host','user','pass','database');
mysqli_query($database,"SET NAMES 'utf8'");
Since I set utf8 in database, can I remove mysql_query("SET NAMES 'utf8'")
and mysqli_query($database,"SET NAMES 'utf8'")
from the code?
You can use the mysqli_set_charset
<?php
$con=mysqli_connect("localhost","my_user","my_password","my_db");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// Change character set to utf8
mysqli_set_charset($con,"utf8");
mysqli_close($con);
?>