![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Majesty |
|
||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 20.3.2005 Где: Almaty, Kazakhsta n Репутация: нет Всего: нет |
Задача - запустить из PHP-скрипта приложение на Java (запустить не отдельный класс, а приложение целиком). Параметром запуска передать приложению кириллическую строку.
Приложение для тестов:
Пытаюсь запустить из РНР:
|
||||||||
|
|||||||||
| lukas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: 3 Всего: 15 |
а может просто попробовать:
-------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
|||
|
||||
| krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
Majesty, а что выводиться в консоли? тоесть без посредничества php? В какой кодировке возпвращаються данные из java приложения? В какой ты их туда передаешь?
Попробуй попреобразовывать данные из одной кодировки в другую и в php и в java. |
|||
|
||||
| Majesty |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 20.3.2005 Где: Almaty, Kazakhsta n Репутация: нет Всего: нет |
Без пхп (в консоли) передаю в UTF-8 и получаю в UTF-8. Когда в пхп делаю iconv('windows-1251', 'utf-8', $string) в Java приходит строка, в которой каждый символ представлен парой вопросов.
ru_RU попробую, потом отпишу. Это сообщение отредактировал(а) Majesty - 20.7.2009, 10:26 |
|||
|
||||
| lukas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: 3 Всего: 15 |
-------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
|||
|
||||
| krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
так понимаю ты делаешь преобразование до отправки данных в java-приложение? пробовал ли ты делать преобразование после получения данных из приложения? в какой кодировке php файл? |
|||
|
||||
| Majesty |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 20.3.2005 Где: Almaty, Kazakhsta n Репутация: нет Всего: нет |
lukas, ткните носом в строку, не нашёл ничего даже отдалённо напоминающего мою проблему в той ветке.
krundetz, файл в 1251. попробую. проект дома, я на работе, а провайдер отключил интернет на профилактику |
|||
|
||||
| krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
тогда все правильно преобразуй данные из win1251 в utf8 перед передачей их в приложение, а потом(после получения данных из приложения) из utf8 в win1251 перед их выводом, тогда знаки вопроса должны пропасть и тогда setlocale() не нужна. Это сообщение отредактировал(а) krundetz - 20.7.2009, 14:32 |
|||
|
||||
| youri |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: 6 Всего: 16 |
setlocale не должна влиять
попробуй в java-программе вывести отладочную информацию в файл (количество аргументов и сами аргументы) |
|||
|
||||
| Majesty |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 20.3.2005 Где: Almaty, Kazakhsta n Репутация: нет Всего: нет |
krundetz, знаки вопросов пропали
youri, вывожу на экран. указываю "1 тест 2", выводит "1 2" :( передается только в ascii :( Добавлено через 9 минут и 54 секунды Вопрос - как перевести строку в ISO-8859-1? Пробовал iconv'ом, но получается "????" вместо "тест". Если страница в iso-8859-1 и с неё отправляется форма, то данные приходят верные. Вот думаю уже, от безысходности, конвертировать данные перед отправкой... Только как? |
|||
|
||||
| youri |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: 6 Всего: 16 |
между 1 и 2 один пробел? Какие коды символов между 1 и 2? Приходит 3 аргумента?
|
|||
|
||||
| krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 20 Всего: 69 |
однако. а ты пробовал менять кодировку в браузере, когда появлялись знаки вопроса? что отдает сервер в качестве кодировки для браузера? попробуй явно кинуть кодировку для браузера
просто знаки вопроса, появляються обычно когда кодировка UTF-8 а браузер ее пытаеться отобразить как другую Это сообщение отредактировал(а) krundetz - 20.7.2009, 19:01 |
|||
|
||||
| Majesty |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 20.3.2005 Где: Almaty, Kazakhsta n Репутация: нет Всего: нет |
youri, там два пробела (т.е. слово "тест" просто вырезано). приходит один аргумент, т.к. отправляю я один аргумент
krundetz, всё правильно работает, если в браузере указать iso-8859-1 и с формы на этой странице передать данные в джаву... при указании любой другой кодировки - либо вопросы (если пытаться iconv'ить из кириллической кодировки в iso-8859-1), либо пустая строка. |
|||
|
||||
| Majesty |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 20.3.2005 Где: Almaty, Kazakhsta n Репутация: нет Всего: нет |
Решил пойти другим (более правильным) путём - переписал Java-приложение, чтобы оно слушало порт, принимало строку запроса и возвращало информацию. Через telnet всё работает (как локально, так и удалённо), в похапе зависает сокет (похапе висит, приложение показывает в логах, что приняло соединение и ждёт строку запроса).
|
|||
|
||||
| Majesty |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 20.3.2005 Где: Almaty, Kazakhsta n Репутация: нет Всего: нет |
На этот раз всё решилось переводом строки в ютф-8
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |