我有一个名为users的表,其中用户名为&插入姓氏。用户名可能包含特殊字符,如“Cé”。
因此,当我从具有上述特殊字符的用户表中搜索用户(例如Cé)时,它返回mysql中的值但不显示在PHP数组中。
使用普通关键字搜索在mysql和PHP中都能正常工作。但是针对特殊字符搜索提出了这个问题。它从查询中搜索,但它不会返回PHP变量。
我写了下面的查询。
SELECT first_name,last_name users WHERE concat(first_name,' ',last_name) LIKE '%Cé%' status='active';
它在MYSQL中返回结果,但在PHP中没有。
答案 0 :(得分:3)
与charset有关。
如果是mysqli
$mysqli = new mysqli("localhost", "root", "password", "database"); // Change this accordingly.
$mysqli->set_charset("utf8"); // set charset
$mysql = mysql_connect('localhost', 'user', 'password');// Change this accordingly.
mysql_set_charset('utf8',$mysql);// set charset
设置chatset并重试。
答案 1 :(得分:2)
mysqli_set_charset()
函数指定从数据库服务器发送数据和向数据库服务器发送数据时使用的默认字符集。
$mysqli->set_charset("utf8")
或
// Change character set to utf8
mysqli_set_charset($con,"utf8");
注意:要使此功能在Windows平台上运行,您需要MySQL 客户端库4.1.11或更高版本(对于MySQL 5.0,您需要5.0.6或 上文)。