У меня есть таблица с большим дБ, где мне нужно искать и заменять определенный символ и т. Д. Некоторые из них являются специальными символами.PHP SQL find ™ и другие специальные символы
Сначала я пытаюсь просто найти, прежде чем изменять инструкцию, чтобы обновить тип замены.
Ниже работает нормально для
$Search_for = '%apple%';
, но не на специальном полукоксе
Так что для этого примера мы будем концентрироваться на ™ (как вставленные из поля)
$search_what = 'LongDescription';
$Search_for = '%™%';
SearchToSee($conn,$search_what,$Search_for);
и тому функция
function SearchToSee ($conn,$search_what,$Search_for) {
$stmt = $conn->prepare(" SELECT * FROM table_name WHERE $search_what Like '$Search_for' ");
$stmt->execute();
foreach ($stmt as $row) {
print_r ($row);
}
Итак, как мне форматировать $Search_for =
?
Для дальнейшего использования и других систем я должен запускать каждый поиск, заменяющий символ, и заменять его разными буквами.
So Far Я пробовал:
в PHP MyAdmin ГДЕ LongDescription
LIKE '% ™%' работает !!
в PHP:
$Search_for = '%apple%'; works but not special char
$Search_for = '%™%';// Not Working
$Search_for = '%_™%';// Not Working
$Search_for = '™';// Not Working
$Search_for = '%™%';// Not Working
мне нужно изменить кодировку ли переходить на SQL?
Сейчас попробовал:
$Search_for2 = '™';
$Search_for3 = mb_convert_encoding($Search_for2, 'UTF-8', 'UTF-8');
echo $Search_for3;
$Search_for = '%'.$Search_for3.'%';
Какое эхо это «¢ и работает для правильного термина, как„ЯБЛОКО“, но до сих пор не специальных символов.
Да, вы это делаете ... и это зависит от того, какую кодировку использует ваша база данных. Если UTF8, то вам нужно преобразовать свою строку в UTF8 .. см .: http://php.net/manual/en/function.iconv .php –
Thanks - db показывает «LongDescription \t текст \t utf8_general_ci» и $ Search_for2 = '™'; $ Search_for3 = mb_convert_encoding ($ Search_for2, 'UTF-8', 'UTF-8'); echo $ Search_for3; и эхо показывает « $ Search_for = '%'. $ Search_for3. '%'; ничего не находит - Идеи? – Fred
попробуйте удалить последний параметр из mb_convert_encoding .. поскольку вы говорите, что вход UTF-8 .. когда его нет, используйте внутреннюю кодировку по умолчанию, и у вас может быть больше успеха. –