Я бег это в MySQL:Поиска греческих символов также возвращает латинские символы
SELECT id, action FROM table1 WHERE action in ('α','δ','μ','Α','Δ','Μ')
Обратите внимание, что символы являются греческими, а также, я использую UTF-8 везде. Почему этот запрос также возвращает строки, где action = 'a' или 'A' (latin)?
Это весь сценарий:
$query = "SELECT id, action FROM table1 WHERE action in ('α','δ','μ','Α','Δ','Μ') ORDER BY id ASC";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_assoc($result);
$totalRows_result = mysql_num_rows($result);
if($totalRows_result > 0) {
do {
$str = $row['action'];
$greek = array('α','δ','μ','Α','Δ','Μ');
$latin = array('A','D','M','A','D','M');
$validstr = str_replace($greek, $latin, $str);
$q = "UPDATE table1 SET action='$validstr' WHERE id='".$row['id']."'";
$res = mysql_query($q) or die(mysql_error());
} while ($row = mysql_fetch_assoc($result));
}
Я сделал это уже – bikey77
использование 'mysql_set_charset'..but лучше использовать' PDO' или 'mysqli' – bitWorking
@redreggae хороший предложение – Yogus