php POST и символы не на английском языке проходят пустыми - PullRequest
1 голос
/ 16 марта 2010

Я пытаюсь запрограммировать сайт на иврите с возможностью поиска. (старый сайт и кодировка этого сайта - windows-1255) Я использую php 5.2 с Apache 2.2, на Debian 5 (Lenny) с соответствующие кодовые страницы включены.

Я использую _POST для передачи аргументов в скрипт. Если я пройду Английское слово к сценарию все работает, но когда я использую иврит ничего не передается через функцию POST. Когда я использую ECHO чтобы показать _POST, переменная пуста.

В чем может быть проблема?

P.S. это старый сайт, который отлично работал на PHP 4 с Debian 4, и проблема возникла только после обновления до PHP5 + debian5.

Ответы [ 2 ]

1 голос
/ 16 марта 2010

спасибо, ребята, это моя вина

проблема решена!

у нас есть фильтр класса, который распознает, что в php5 и беги

filter_var($this->source[$var], FILTER_SANITIZE_STRING, (FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH));

и это очистит сообщение на иврите, чтобы очистить.

1 голос
/ 16 марта 2010

Попробуйте советы в разделе «Вопросы программирования» этой статьи :

*  Explicit use of UTF-8, marked with
      o "mb_language('uni'); mb_internal_encoding('UTF-8');" at the top of your scripts
      o Content-type: text/html; charset=utf-8 in the HTTP header, by way of .htaccess, header() or Web server configuration
      o <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> and <orm accept-charset = "utf-8"> in HTML markup
      o CREATE DATABASE ... DEFAULT CHARACTER SET utf8 COLLATE utf8 ... ENGINE ... CHARSET=utf8 COLLATE=utf8_unicode_ci is a typical sequence for a MySQL instance, with comparable expressions for other databases
      o SET NAMES 'utf8' COLLATE 'utf8_unicode_ci' is a valuable directive for PHP to send MySQL immediately after connecting
      o In php.ini, assign default_charset = UTF-8
* Replacement of string functions, such as strlen and strtlower, with mb_strlen and mb_convert_case
* Replacement of mail and colleagues with mb_send_mail, etc.; while Unicode-aware e-mail is an advanced topic beyond the scope of this introduction, the use of mb_send_mail is a good starting point
* Use of multibyte regular expressions functions (see Resources)

Особенно, в этом случае, первые две подпункты.

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