I need to develop a script that checks for an accented character in the string and saves a string variable without the umlaut.
The script that clears below compiles
//Checa Especial
$nomeCliente = "Bröring";
if(strstr($nomeCliente, "ä") ||
strstr($nomeCliente, "ö") ||
strstr($nomeCliente, "ü")){
if(strstr($nomeCliente, "ä")){ $variavel .= str_replace("ä", "a", $nomeCliente).","; }
if(strstr($nomeCliente, "ö")){ $variavel .= str_replace("ö", "o", $nomeCliente).","; }
if(strstr($nomeCliente, "ü")){ $variavel .= str_replace("ü", "u", $nomeCliente).","; }
echo $variavel;
//Imprime Broring,
}else{
echo "Não há trema";
}
I did a direct query in PHPmyAdmin
SELECT id, nome FROM clientes WHERE nome LIKE '%ö%'
To see if you could pull the data like this and compile
ThenIimplementedascript
//Geravariáveisdonome$sqlTremas=mysqli_query($conn,"SELECT id, nome FROM clientes WHERE nome LIKE '%ö%' OR nome LIKE '%ä%' OR nome LIKE '%ü%'");
while($dadosT = mysqli_fetch_array($sqlTremas)) {
//Checa Especial
$nomeCliente = utf8_decode($nomeCliente);
if(strstr($nomeCliente, "ä")){ $variavel .= str_replace("ä", "a", $nomeCliente).","; }
if(strstr($nomeCliente, "ö")){ $variavel .= str_replace("ö", "o", $nomeCliente).","; }
if(strstr($nomeCliente, "ü")){ $variavel .= str_replace("ü", "u", $nomeCliente).","; }
$tamanhoStringVariavel = strlen($variavel);
$variavel = substr($variavel, 0, $tamanhoStringVariavel-1);
$alteraCliente = mysqli_query($conn, "UPDATE clientes SET variavel = '{$variavel}' WHERE id = {$dadosT['id']}");
if($alteraCliente) {
echo "SUCESSO {$dadosT['id']}<br><br>";
}else{
echo "ERRO {$dadosT['id']}<br><br>";
}
}
In this code the mysql_num_rows($sqlTremas)
comes empty, but when compiling directly into mysql, it works. I have another query in the same file that works (it is not connection to the database). What can it be?