PHP - выход из тире - PullRequest
       1

PHP - выход из тире

2 голосов
/ 11 мая 2011

Я $ _POST'ing следующий заголовок из формы:

Google’s New Partner Android Update Initiative: Very Promising — Maybe; We’ll See

И на странице обработчика, если первое, что я делаю, это

  echo "<pre>";
  print_r($_POST);
  die();

Понятно:

Google’s New Partner Android Update Initiative: Very Promising — Maybe; We’ll See

Я понимаю, что есть функции для преобразования и экранирования символов и их HTML-эквивалентов, но как я могу гарантировать, что этот контент будет добавлен в $ _POST в правильной кодировке?

Приветствия

Ответы [ 2 ]

2 голосов
/ 11 мая 2011

Как странице с формой, так и отображаемой странице необходимо использовать одну и ту же кодировку.Чтобы воспроизвести поведение, которое вы демонстрируете, мне нужно было создать 2 страницы, одну из которых, с

<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />

, которая размещалась на странице без этого.

Если япоместите метатег на обе страницы, он выводит правильно, если я удаляю его с обеих страниц, он выводит корректно.

Если он есть только в форме, вы получаете то, что отправили, и если только на принимающей странице естьэто, вы получите? 's.


test.php

<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<form method="post" action="test2.php">
<input type="text" name="string">
<input type="submit">
</form>

test2.php

<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<?php
if(isset($_POST['string']))
{
    echo "<pre>";
    print_r($_POST['string']);
    die();
}
?>

Если я вставлю вашу строку во вводполе test.php, нажмите «отправить», я вернул его обратно в test2.php.Если я удалю первую строку test2.php, я получу описанное вами поведение.

2 голосов
/ 11 мая 2011

не уверен, поможет ли это, но похоже, что кодировка UTF-8 перепутана (управляющие символы мне кажутся несколько знакомыми ...).Попробуйте вывести с помощью utf8_encode () или utf8_decode () .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...