【发布时间】:2015-12-22 05:08:04
【问题描述】:
我正在使用 Eclipse 编辑器。我在 vtiger 5.4 中编程。在我的文件 config.inc.php 中,变量 $default_charset 设置为
$default_charset = 'UTF-8';
我正在尝试使用下一个变量在 mysql 中进行 sql 查询
$sql = "select cod_dpto from vtiger_ubi where dpto='" . $dpto . "'";
当我打印变量$dpto 时,我得到"SAÑA",但是查询mysql 的执行
$adb->query ( $sql );
不起作用。但是当我将查询修改为:
$sql = "select cod_dpto from vtiger_ubi where dpto='SAÑA'";
指令
$adb->query ( $sql );
返回我需要的值。
请您帮帮我,如何转换我的变量$dpto 以使 sql 查询正常工作。
编辑
我尝试使用下面的代码进行查询,没有 vtiger,我得到了 0 个结果,这两个案例有变量并写了 'SAÑA'
$servername = "localhost";
$username = "root";
$password = "peru2006";
$dbname = "consuladoperurio_com_br_2";
$port = "3306";
// Create connection
$conn = new mysqli ( $servername, $username, $password, $dbname, $port );
// Check connection
if ($conn->connect_error) {
die ( "Connection failed: " . $conn->connect_error );
}
$sql = "select cod_dpto from vtiger_ubigeo where dpto='$dpto'";
echo $sql;
$result = $conn->query ( $sql );
if ($result->num_rows > 0) {
// output data of each row
while ( $row = $result->fetch_assoc () ) {
echo "id: " . $row ["cod_dpto"] "<br>";
}
} else {
echo "0 results";
}
$conn->close ();
【问题讨论】:
-
变量
$dpto中的数据来自哪里?邮政?数据库? -
mb_detect_encoding($dpto);返回什么? -
@Juan 在将其插入查询之前尝试
utf8_encode($dpto)。 -
@Juan
iconv('ASCII', 'UTF-8//IGNORE', $dpto);似乎是我刚刚发现的更好选择:*.com/questions/4983989/… -
@ajmedway $dpto 填充了一个查询。