所以我们在这里,首先我有这个问题是我的代码
$servername = DB_HOSTNAME;
$username = DB_USERNAME;
$password = DB_PASSWORD;
$dbname = DB_DATABASE;
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
/*UTF-8 format*/
$conn->set_charset("utf8");
$clean0 = "SET NAMES utf8;";
$clean1 = "UPDATE product_description SET name = REPLACE(name, '$DeleteWord1', '$empty') WHERE name LIKE '%$FindWord1%';";
if ($conn->query($clean0) === TRUE) {
echo "<h1>Product unwanted names deleted successfully</h1>";
} else {
echo "Error updating record: " . $conn->error;
}
if ($conn->query($clean1) === TRUE) {
echo "<h1>Product unwanted names deleted successfully</h1>";
} else {
echo "Error updating record: " . $conn->error;
}
如果我不使用保加利亚字母,代码本身就可以正常工作。 但是当我使用保加利亚字母时,代码不想找到$ DeleteWord1
当我varp_dump($clean1)
我得到了
string 'UPDATE product_description SET name = REPLACE(name,
'ЧАСОВНРРљ', ' ') WHERE name LIKE '%SHEEN%';' (length=103)
正如你们可以看到它由于某种原因而无法在UTF-8中进行转换,这就是为什么它不适用于保加利亚字母,
BUT!它适用于本地主机中的保加利亚字母,但不适用于实时主机帐户
两个数据库都有utf-8_general_ci的排序规则(localhost&amp; livehost one)
任何想法如何解决这个问题?
$conn->set_charset("utf8");
$clean0 = "SET NAMES utf8;";
这两个人都应该这样做我自己尝试例如仅charset
并且只设置名称,同样的问题
还有一件事,我怎么能看到它是否真的传递了像ЧАСОР'РќР这样的价值观?因为当我将cleaner.php文件设置为<meta charser="utf-8">
时,它会正常出现。有什么想法吗?