У меня есть та же проблема и найденное решение: необходимо установить Маас - включают в список & пакет tftpd-hpa.
sudo apt-get install maas-enlist tftpd-hpa
затем повторно выполняется sudo maas-import-isos -u
Используйте encodeURIComponent ()
в JS, а в PHP вы должны получить правильные значения.
Примечание. Когда вы обращаетесь к $ _ GET
, $ _ POST
или $ _ REQUEST
в PHP, вы получаете значения, которые уже были декодированы.
Пример:
В вашем JS:
// url encode your string
var string = encodeURIComponent('+'); // "%2B"
// send it to your server
window.location = 'http://example.com/?string='+string; // http://example.com/?string=%2B
На вашем сервере:
echo $_GET['string']; // "+"
Это только необработанный HTTP-запрос, содержащий данные в кодировке URL.
Для запроса GET вы можете получить его из URI . $ _SERVER ['REQUEST_URI']
или $ _ SERVER ['QUERY_STRING']
. Для POST-запроса с кодированием urlen-кодов file_get_contents ('php: // stdin')
NB:
decode ()
работает только для однобайтовых символов. Это не будет работать для всего диапазона UTF-8.
например:
text = "\u0100"; // Ā
// incorrect
escape(text); // %u0100
// correct
encodeURIComponent(text); // "%C4%80"
Примечание: «% C4% 80»
эквивалентно: escape ('\ xc4 \ x80')
Это последовательность байтов ( \ xc4 \ x80
), которая представляет Ā
в UTF -8. Поэтому, если вы используете encodeURIComponent ()
, ваша серверная сторона должна знать, что она получает UTF-8. В противном случае PHP будет искажать кодировку.
В JavaScript попробуйте:
encodeURIComponent()
и в PHP:
urldecode($_POST['field']);
Шестнадцатеричное значение, которое вы ищете, - % 2B
Чтобы получить его автоматически в PHP, введите строку через urlencode ($ stringVal)
. А затем запустите его rhough urldecode ($ stringVal)
, чтобы вернуть его.
Если вы хотите, чтобы JavaScript обработал его, используйте escape (str)
Edit
After @ Комментарий bobince Я прочитал больше, и он прав.
Используйте encodeURIComponent (str)
и decodeURIComponent (str)
. Escape не преобразует символы, а экранирует их только с помощью \