[請益] 用system 呼叫java程式 要如何輸入中文參數呢
最近在嘗試建立一個搜尋引擎
利用用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
推
12/20 20:26, , 1F
12/20 20:26, 1F
→
12/21 09:39, , 2F
12/21 09:39, 2F
PHP 近期熱門文章
PTT數位生活區 即時熱門文章
154
159