Разные браузеры по-разному обрабатывают различные функции PHP?

Контекст: В настоящее время я работаю над сценарием MATLAB, который декодирует сообщения, зашифрованные с использованием схемы замены букв 1: 1. Он работает путем поиска наиболее распространенного символа в сообщении и сопоставления его с буквой соответствующей общности на основе статистики, найденной в Интернете. Чтобы помочь с демонстрацией, я пишу сообщение с частотами букв, которые точно соответствуют тем, что в сценарии. Чтобы помочь написать это письмо, я разработал элементарную HTML-форму с сопровождающим сценарием PHP http://nd.edu/~wbadart/letter), которые подсчитывают буквы во входных данных, ранжируют их и отображают ранг рядом с желаемым рангом.

Вопрос: Я использую Firefox, и инструмент работал отлично, но он отображал неверные значения для моих товарищей по команде в Chrome и Safari. Одной из наиболее показательных ошибок было то, что Chrome и Safari неправильно отображали переменную $mssgLen который был не более чем strlen() ввода. Кто-нибудь знает, что может объяснить эти расхождения?

Спасибо!

-1

Решение

Попробуйте добавить кодировку в раздел заголовка html и использовать mb_strlen вместо strlen.

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">

PHP является языком на стороне сервера, поэтому нет никакой разницы между браузерами.

Разница может быть в том, какие значения по умолчанию для кодировки запроса и как он обрабатывается. Вот где может возникнуть большая разница.

0

Другие решения

Возможно, браузеры завершают строки по-разному. Например. «\ n \ r» вместо «\ n» или наоборот. var_dump или отладка ввода, чтобы вы могли увидеть эти незначительные различия.

0