Передача арабских параметров через f: param в PrimeFaces [дубликат]

Обычно ошибка, возникающая при сбое в работе базы данных базы данных, поэтому не забудьте подключить вашу базу данных или включить файл базы данных.

include_once(db_connetc.php');

ИЛИ

// Create a connection
$connection = mysql_connect("localhost", "root", "") or die(mysql_error());

//Select database
mysql_select_db("db_name", $connection) or die(mysql_error());

$employee_query = "SELECT * FROM employee WHERE `id` ='".$_POST['id']."';

$employee_data = mysql_query($employee_query);

if (mysql_num_rows($employee_data) > 0) {

    while ($row = mysql_fetch_array($employee_data)){
        echo $row['emp_name'];
    } // end of while loop
} // end of if
  • Лучшей практикой является запуск запроса в sqlyog, а затем его копирование в код страницы.
  • Всегда сохраняйте свой запрос в переменной и затем повторяйте эту переменную. Затем перейдите к mysql_query($query_variable);.
20
задан approxiblue 30 October 2015 в 05:02
поделиться

2 ответа

request.setCharacterEncoding("UTF-8"); устанавливает кодировку тела запроса (которая была использована POST-запросами), а не кодировка URI запроса (которая была использована запросами GET).

Вы необходимо установить атрибут URIEncoding в UTF-8 в элементе <Connector> Tomcat's /conf/server.xml, чтобы заставить Tomcat проанализировать URI запроса (и строку запроса) как UTF-8. Это действительно соответствует ISO-8859-1. См. Также документацию Tomcat HTTP Connector .

<Connector ... URIEncoding="UTF-8">

или для проверки того, что URI анализируется с использованием той же кодировки, что и тело:

<Connector ... useBodyEncodingForURI="true">

См. Также:


Пожалуйста, избавитесь от этих скриптлетов в вашем JSP. request.setCharacterEncoding("UTF-8"); вызывается в неподходящий момент. Было бы слишком поздно, если вы правильно использовали сервлет для обработки запроса. Вы хотите использовать фильтр для этого. Часть response.setCharacterEncoding("UTF-8"); уже неявно выполняется pageEncoding="UTF-8" в верхней части JSP.

Я также настоятельно рекомендую заменить старомодный скрипт <%= request.getParameter("q") %> EL ${param.q} или с JSTL XML-экранирование ${fn:escapeXml(param.q)} для предотвращения атак XSS .

53
ответ дан Community 25 August 2018 в 23:59
поделиться

вам просто нужно раскомментировать часть кода в conf / web.xml (Tomcat server web.xml), которая фильтрует весь запрос и конвертирует в UTF-8.

 <!-- A filter that sets character encoding that is used to decode -->
 <!-- parameters in a POST request -->
 <filter>
        <filter-name>setCharacterEncodingFilter</filter-name>
        <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
 </filter>

  <!-- The mapping for the Set Character Encoding Filter -->
  <filter-mapping>
        <filter-name>setCharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
  </filter-mapping>

, вот и все. работать отлично в tomcat

6
ответ дан Divyesh Kanzariya 25 August 2018 в 23:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: