Я захватываю ввод из файла со следующим кодом
$jap= str_replace("\n","",addslashes(strtolower(trim(fgets($fh), " \t\n\r"))));
Я также ранее пробовал их при устранении неполадок
$jap= str_replace("\n","",addslashes(strtolower(trim(fgets($fh))))); $jap= addslashes(strtolower(trim(fgets($fh), " \t\n\r")));
и если я эхо $ jap, это выглядит хорошо, поэтому позже в коде, без каких-либо изменений в $ jap, он вставляется в БД, однако я заметил сравнительный тест, который проверяет, что это jap уже в БД, возвращает false, когда i может ясно видеть, что кажущаяся точно такая же запись jap находится в БД. Поэтому я копирую запись jap, которая была вставлена прямо из phpmyadmin или с моего сайта, где отображается jap, и вставляйте его в блокнот, и я замечаю, что он вставляется так … (это точная паста в приведенных ниже цитатах)
"
バ ス に の っ て, う み へ 行 き ま し た»
и, очевидно, мне нужно, это без этого пробела и разрывов или что бы это ни было.
так как я могу сказать, что обрезка не делает то, что говорит, что это будет делать. или им что-то не хватает. Если так, то, что это?
ОБНОВЛЕНИЕ: в ответ на ответ Jacks
preg_replace не помогло, но вот что я сделал, я использовал bin2hex (), чтобы определить, что часть, которая «не является частью, которую я хочу», является efbbbf, я сделал это, взяв $ jap в str replace и удалив japanese i am ожидая найти, и то, что осталось, входит в bin2hex. и результатом было вышеописанное "efbbbf"
echo bin2hex(str_replace("どちらがあなたの本ですか","",$jap));
вывод выше был efbbbf, но что это? могу ли я сделать str_replace, чтобы удалить это как-то?
Функция trim
не знает о белых пробелах в Юникоде. Вы можете попробовать следующее:
preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $str);
Как взято из: Trim unicode whitespace в PHP 5.2
В противном случае вы можете сделать bin2hex()
чтобы узнать, какие символы добавляются спереди.
Обновить
В вашем файле содержится спецификация UTF8; удалить его:
$f = fopen("file.txt", "r"); $s = fread($f, 3); if ($s !== "\xef\xbb\xbf") { // bom not found, rewind file fseek($f, 0, SEEK_SET); } // continue reading here