3 / 0 / 0
Регистрация: 28.03.2013
Сообщений: 25
|
|
1 | |
Php+prolog25.02.2015, 23:52. Показов 1565. Ответов 35
Метки нет (Все метки)
Пожалуйста помогите!!!!!
В php хочу вывести строчку в прологе, содержащую русские буквы. пытаюсь сделать это с помощью $goal = "all_facts2('Программа')."; Но он не хочет распознавать русские буквы, допустим, если я введу $goal = "all_facts2('joof')."; Он мне все выведет. Помогите,как мне справиться с этой проблемой
0
|
25.02.2015, 23:52 | |
Ответы с готовыми решениями:
35
Пожалуйста, помоите переделать программу с Turbo Prolog на Visual Prolog Как переделать программу написанную на Turbo-Prolog в SWI-Prolog? Из Turbo Prolog в Visual Prolog - где будут отличия в коде? В Turbo-Prolog есть возможность описать Goal. Как это реализовано в SWI-Prolog |
3 / 0 / 0
Регистрация: 28.03.2013
Сообщений: 25
|
|
26.02.2015, 11:26 [ТС] | 3 |
Catstail, если честно, не знаю. Но думаю, что сам пролог не хочет.
0
|
3 / 0 / 0
Регистрация: 28.03.2013
Сообщений: 25
|
|
26.02.2015, 18:23 [ТС] | 5 |
Добавлено через 6 минут
Catstail, У меня SWI-Prolog (Multi-threaded, 64 bits, Version 7.1.29-13-g850889d) вот такая версия. Допускает русский язык вида country('5','Алжир'). country('6','Ангола').
0
|
3 / 0 / 0
Регистрация: 28.03.2013
Сообщений: 25
|
|
26.02.2015, 18:44 [ТС] | 7 |
Catstail, вы имеете в виду вида факт("4","Алжир").?
Добавлено через 7 минут Catstail, Вот смотрите в прологе я изменяю строчку на факты('33','S', 916445) - она выводится в php $goal = "all_facts2('S')."; и все хорошо. А вот строчка факты('33','Климат', 'Тропический;жаркий;влажный;более умеренный на возвышенностях'). в php $goal = "all_facts2('Климат')."; с правилом all_facts2(M):- findall(X:Y, факты(X,M,Y), All), write(All). - НЕ ВЫВОДИТСЯ!!!!!!ПО причине того,что не может он читать слово Климат(
0
|
3 / 0 / 0
Регистрация: 28.03.2013
Сообщений: 25
|
|
26.02.2015, 21:15 [ТС] | 9 |
Добавлено через 2 минуты
Catstail, Кстати говоря, он теперь выводит мне все значения, и S и Климат Добавлено через 31 минуту Catstail, А должен только один параметр "Климат" =( почему так? Добавлено через 1 час 2 минуты Catstail, Там нужны именно одинарные кавычки.
0
|
794 / 598 / 156
Регистрация: 07.10.2013
Сообщений: 1,327
|
|
02.03.2015, 08:59 | 10 |
0
|
3 / 0 / 0
Регистрация: 28.03.2013
Сообщений: 25
|
|
02.03.2015, 18:55 [ТС] | 11 |
arlat, всез значения фактов)
0
|
794 / 598 / 156
Регистрация: 07.10.2013
Сообщений: 1,327
|
|
03.03.2015, 09:32 | 12 |
0
|
3 / 0 / 0
Регистрация: 28.03.2013
Сообщений: 25
|
|
03.03.2015, 09:34 [ТС] | 13 |
arlat, есть)
0
|
794 / 598 / 156
Регистрация: 07.10.2013
Сообщений: 1,327
|
|
03.03.2015, 09:36 | 14 |
не 'Климат', а 'факты' на русском скорей всего. разберитесь с кодировкой, рекомендую utf-8...
0
|
3 / 0 / 0
Регистрация: 28.03.2013
Сообщений: 25
|
|
03.03.2015, 09:40 [ТС] | 15 |
arlat, стоит эта кодировка. Понимаете, когда запрос делается из пхп в пролог кодировка строчки $goal="all_facts('что-то на русском')." Меняется и он не может мне давать результат
0
|
794 / 598 / 156
Регистрация: 07.10.2013
Сообщений: 1,327
|
|
03.03.2015, 09:41 | 16 |
так в чем проблема? если есть X = 'Программа', то должно работать, это одно и то же, что и унификация при передаче параметра. подробней приведите ваши тексты кода.
Добавлено через 1 минуту а с помощью чего он делается? все эти проблемы с кодировкой и конвертацией. надо искать точку, где сбой...
0
|
3 / 0 / 0
Регистрация: 28.03.2013
Сообщений: 25
|
|
03.03.2015, 09:46 [ТС] | 17 |
arlat, Вот здесь весь код.
http://stackoverflow.com/quest... g-from-php
0
|
794 / 598 / 156
Регистрация: 07.10.2013
Сообщений: 1,327
|
|
03.03.2015, 10:04 | 18 |
$cmd = "/software/swipl/bin/swipl -f Domain.pl -g ".$goal." -t halt";
а -f почему? 2.4 Command line options пробуйте -f none -s Script.pl и т.д. и сначала без php Добавлено через 6 минут можно посмотреть Predicate encoding/1 вобщем пространства для поиска решения проблемы хватает...
0
|
3 / 0 / 0
Регистрация: 28.03.2013
Сообщений: 25
|
|
03.03.2015, 10:05 [ТС] | 19 |
arlat, Последнее,я пробовала - безрезультатно
0
|
794 / 598 / 156
Регистрация: 07.10.2013
Сообщений: 1,327
|
|
03.03.2015, 10:08 | 20 |
дело не в php и swi как таковых, а в потоке вывода...
без php пробовали?
0
|
03.03.2015, 10:08 | |
03.03.2015, 10:08 | |
Помогаю со студенческими работами здесь
20
Логическая задача на Turbo prolog или Gui prolog [Turbo Prolog] [Visual Prolog] Задача на рекурсию Перевести код из turbo prolog в visual prolog Перевести код из turbo prolog в visual prolog Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |