>  기사  >  백엔드 개발  >  PHP向MYSQL插入中文,有有关问题

PHP向MYSQL插入中文,有有关问题

WBOY
WBOY원래의
2016-06-13 10:11:171097검색

PHP向MYSQL插入中文,有问题
大家好,我是新手,在通过PHP向MYSQL插入中文是,就是插不进去啊。
我的代码如下,页面和MYSQL的字符集全是UTF-8的

$dbc = mysqli_connect('localhost', 'root', 'root', 'aliendatabase')
  or die('Error connecting to MySQL server.');

  $query = "INSERT INTO aliens_abduction (other) VALUES ('好')";
   
  $result = mysqli_query($dbc, $query)
  or die('Error querying database.');

  mysqli_close($dbc);

另外,在MYSQL的客户端插入汉字也有问题,报错如下

mysql> insert into a values('好');
ERROR 1366 (HY000): Incorrect string value: '\xBA\xC3' for column 'a' at row 1

MYSQL的字符集如下
mysql> show variables like '%char%';
+--------------------------+---------------------+
| Variable_name | Value |
+--------------------------+---------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | gbk |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.5\share\charsets\ |
+--------------------------+---------------------+


------解决方案--------------------
$query =

之前添加

mysql_query("SET NAMES 'UTF8'");
------解决方案--------------------
楼主正解!
你是dos窗口下执行的吧,如是的话,就在insert前执行下set names gbk试试;

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.