作者tttt (嗯嗯)
看板PHP
标题[请益] 用system 呼叫java程式 要如何输入中文参数呢
时间Wed Dec 19 16:05:56 2007
最近在尝试建立一个搜寻引擎
利用用java 引用lucene 2.0 来建立好索引
而从php 输入搜寻字串
利用
echo system
("java -classpath \".:/usr/src/jdk1.5.0_03/lib:/home/tttt/WWW/try_linux/lucene-core-2.2.0.jar:\"
TxtFileSearcher \"$keyword_encode\" 2>&1");
php 有设定header
header('Content-Type: text/html; charset=utf-8');
也有利用iconv
$keyword_encode = iconv("big5", "utf-8", $$keyword);
但是对於中文搜寻字串 始终无法执行
程式因为吃进去的是乱码 而无法找到结果
利用
String enc = System.getProperty("file.encoding");
System.out.println("encoding: " + enc);
去检查 目前的两个平台 得到的系统编码如下
win : MS950
linux : ANSI_X3.4-1968
我的main里面 是这样写的
try {
Query(args[0] ,indexDir);
} catch (Exception e) {
System.out.println("Exception:" + e.getMessage());
}
请问一下 是我在php输入时的编码 需要再做调整 ?
还是我应该在java 这一端 把 args[0] 改编码呢 ?
--
A: Are you kidding?
B: No, I'm serious.
A: 你是凯蒂吗?
B: 不,我是希瑞亚斯.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.120.39.133
1F:推 fillano:console预设的编码问题,你在执行java之前加一行来改LANG 12/20 20:26
2F:→ tttt:改lang ? 是指说用export 12/21 09:39