Контекст: В настоящее время я работаю над сценарием MATLAB, который декодирует сообщения, зашифрованные с использованием схемы замены букв 1: 1. Он работает путем поиска наиболее распространенного символа в сообщении и сопоставления его с буквой соответствующей общности на основе статистики, найденной в Интернете. Чтобы помочь с демонстрацией, я пишу сообщение с частотами букв, которые точно соответствуют тем, что в сценарии. Чтобы помочь написать это письмо, я разработал элементарную HTML-форму с сопровождающим сценарием PHP http://nd.edu/~wbadart/letter), которые подсчитывают буквы во входных данных, ранжируют их и отображают ранг рядом с желаемым рангом.
Вопрос: Я использую Firefox, и инструмент работал отлично, но он отображал неверные значения для моих товарищей по команде в Chrome и Safari. Одной из наиболее показательных ошибок было то, что Chrome и Safari неправильно отображали переменную $mssgLen
который был не более чем strlen()
ввода. Кто-нибудь знает, что может объяснить эти расхождения?
Спасибо!
Попробуйте добавить кодировку в раздел заголовка html и использовать mb_strlen вместо strlen.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
PHP является языком на стороне сервера, поэтому нет никакой разницы между браузерами.
Разница может быть в том, какие значения по умолчанию для кодировки запроса и как он обрабатывается. Вот где может возникнуть большая разница.
Возможно, браузеры завершают строки по-разному. Например. «\ n \ r» вместо «\ n» или наоборот. var_dump или отладка ввода, чтобы вы могли увидеть эти незначительные различия.