str_replace('Ê','',$line);
Не работает. Есть ли какая-то специальная строка, которая представляет это?Как заменить Ê на '? В php?
str_replace('Ê','',$line);
Не работает. Есть ли какая-то специальная строка, которая представляет это?Как заменить Ê на '? В php?
Вы должны рассмотреть кодировку строки, которую вы хотите манипулировать. Если это не закодировано с тем же символьным кодированием, что и файл, который вы объявили, строка, указанная выше, вам нужно преобразовать оба кодирования.
Наиболее распространенная ошибка заключается в том, что либо данные, либо файл закодированы в UTF-8, а другой в ISO 8859-1.
У меня была догадка, что это было что-то вроде этого, наконец, время для меня, чтобы волноваться/узнать о кодировках. –
$ line = str_replace ('Ê', '', mb_convert_encoding ($ line, "UTF-8")); –
Попробуйте использовать preg_replace:
$line = preg_replace('/Ê/ui', '', $line);
Это не ясно, если вы это знаете, но str_replace не работает «на месте», она возвращает новую строку, так что, возможно, все, что вам действительно нужно было
$line=str_replace('Ê','',$line);
Другая возможность заключается в том, что вы ищете в Unicode, объединяющем диакритику, которая на самом деле является двумя символами unicode - E и circumflex diacritic.
Вот как выглядит мой код, на самом деле, наверное, я должен был оставить строку $ на другой стороне. –
Я думаю, что это многобайтовая голец, поэтому попробуйте mb functions
я должен был сначала преобразовать строку в UTF-8.
mb_convert_encoding($line, "UTF-8")
Так код, который я закончил с это:
$line = str_replace('Ê','', mb_convert_encoding($line, "UTF-8"));
ответил на мой собственный вопрос просто, чтобы получить «разрешение» вверх, а не в комментарии. Спасибо, Гумбо.
Он может быть в другом наборе символов. К сожалению, у меня нет PHP, чтобы тестировать все, поэтому я не могу попробовать. – Powerlord