iT邦幫忙

0

小弟想請問或尋求幫助~截取(採集)數據UTF-8簡轉繁

cms網站是採集對岸的數據字段UTF-8簡體
因為簡體總是比較看不順眼
有沒有方法就是讓程式在取得數據字段之後先轉為UTF-8繁體在進入資料庫
網上查資料說opencc php 可以,但是安裝完openccphp之後下一步該怎麽使用,想請教下各位
如有更好的方式能解決!小額修改費用小弟都能接受

ckp6250 iT邦好手 1 級 ‧ 2021-03-21 05:34:25 檢舉
請先貼出您【截取(採集)】的這段程式碼是怎麼寫的?
淺水員 iT邦研究生 1 級 ‧ 2021-03-21 09:46:31 檢舉
是這個嗎?
https://github.com/nauxliu/opencc4php
如果是的話照說明使用,有出現什麼問題再提出來吧
2
taur
iT邦新手 5 級 ‧ 2021-03-21 14:39:54
最佳解答

我個人是覺得你使用opencc php 是可以解決你的問題
只是你要去看你的電腦系統、環境資料等是怎麼用的
我建議你要告訴我們你系統(win?Linux?)是甚麼?
你用的server環境(LEMP?)是甚麼?之類的
有圖片更好 因為這樣我們才比較知道問題該怎麼解決或是方向

我這邊也只能給你有關opencc php安裝比較詳細的相關資料
[教學] 簡體繁體中文轉換套件OpenCC安裝教學 (Linux)
nauxliu/opencc4php
alphasnow/opencc-php
簡繁轉換: opencc + php8

關鍵字:opencc php opencc4php

看更多先前的回應...收起先前的回應...

非常感謝您的解答,其實我在提問的時候已經完成opencc4php的安裝,但是我不知道下面一步,將采集的數據轉換成繁體該如何進行,下面是我測是測試opencc4php是否安裝成功的截圖https://ithelp.ithome.com.tw/upload/images/20210322/20135385ek4g5zf4Ad.pnghttps://ithelp.ithome.com.tw/upload/images/20210322/20135385Ce4JkM4Hbw.png

我是先建立一個空白的php文檔,然後輸入這段代碼:
$od = opencc_open("s2twp.json"); //传入配置文件名
$text = opencc_convert("联络方式。", $od);
echo $text;
opencc_close($od);
web端訪問就可以看到正體字 聯絡方式
我現在沒頭緒的是采集的數據如何利用opencc4php轉換之後進入數據庫。

taur iT邦新手 5 級 ‧ 2021-03-22 13:16:53 檢舉

首先你一定會有採集數據的程式碼片段
也一定會有一個裝著 採集的數據 的變數
然後利用你現在的那些程式碼帶進去
$od = opencc_open("s2twp.json");
↑這段是你要哪種轉換詳細請看參考資料,可用配置 部分
$text = opencc_convert("联络方式。", $od);
↑ "联络方式。" 這個地方就是放你的 採集的數據
你就可以把 $text; 轉換成功的資料放到你的數據庫裡面
opencc_close($od);
↑這個只是把資源關閉而已

阿問題點應該是你的資料應該是挺多的
那就是用迴圈將每筆資料帶進去轉換
以下大概觀念程式碼

/*這邊是你採集的程式碼*/
$list =["採集的數據1","採集的數據2"]  //假設你資料抓好後,是list
for ($i=0 ; $i<count($list) ; $i++) 
{
 $od = opencc_open("s2twp.json"); 
  $text = opencc_convert($list[i], $od);  //注意我這邊一次一筆資料
  /*一行看你要把他放到哪邊,或是在用一個list再裝回去也是可以*/
  opencc_close($od);
}

ps.我目前設備沒有裝相關的東西,我也只能告訴你大概QQ

--參考資料--
函数列表:
opencc_open(string ConfigName) ConfigName:配置文件名,成功返回资源对象,失败返回false
opencc_close(resource ob) 关闭资源对象,成功返回true,失败返回false.
opencc_error() 返回最后一条错误信息,有错误信息返回String,无错误返回false
opencc_convert(string str, resource od) str:要转换的字符串(UTF-8),od:opencc资源对象

可用配置:
s2t.json 简体到繁体
t2s.json 繁体到简体
s2tw.json 简体到台湾正体
tw2s.json 台湾正体到简体
s2hk.json 简体到香港繁体(香港小学学习字词表标准)
hk2s.json 香港繁体(香港小学学习字词表标准)到简体
s2twp.json 简体到繁体(台湾正体标准)并转换为台湾常用词汇
tw2sp.json 繁体(台湾正体标准)到简体并转换为中国大陆常用词汇

taur iT邦新手 5 級 ‧ 2021-03-22 13:17:58 檢舉

ㄛ對了!!我忘記問 你採集程式碼也是php 嗎@@

是的,採集程式碼也是使用的php,我現在正在按照您説的方法進行嘗試,非常感謝您的指點。

0
planetoid
iT邦新手 2 級 ‧ 2021-03-21 21:20:48

我用 Linux 呼叫 Python 執行 opencc,再轉成 Web API 。不同台的網站伺服器就可以直接呼叫 API 取得 opencc 的翻譯結果。

如果在同一台可以順利呼叫 Python 執行 opencc ,也不一定要使用兩台的架構。

1
japhenchen
iT邦大師 1 級 ‧ 2021-03-22 10:01:18

如果你們是用php跑cms的話,可以考慮加掛MediaWiki的繁簡轉換模組
https://taichunmin.idv.tw/blog/2014-09-25-mediawiki-zh-conversion.html

0
淺水員
iT邦研究生 1 級 ‧ 2021-03-22 10:39:47

如果不限定後端的話也可以用 opencc-js
透過 javvascript 讓頁面在繁體、簡體間轉換

另外提醒簡轉繁軟體雖然大多能正確轉換
但有時還是會出現很奇怪的翻譯
系統的規劃上可能要考慮到這點

看更多先前的回應...收起先前的回應...

非常感謝您的解答,其實我在提問的時候已經完成opencc4php的安裝,但是我不知道下面一步,將采集的數據轉換成繁體該如何進行,下面是我測是測試opencc4php是否安裝成功的截圖https://ithelp.ithome.com.tw/upload/images/20210322/20135385ek4g5zf4Ad.pnghttps://ithelp.ithome.com.tw/upload/images/20210322/20135385Ce4JkM4Hbw.png

我是先建立一個空白的php文檔,然後輸入這段代碼:
$od = opencc_open("s2twp.json"); //传入配置文件名
$text = opencc_convert("联络方式。", $od);
echo $text;
opencc_close($od);
web端訪問就可以看到正體字 聯絡方式
我現在沒頭緒的是采集的數據如何利用opencc4php轉換之後進入數據庫。

淺水員 iT邦研究生 1 級 ‧ 2021-03-22 12:09:21 檢舉
$text_tc = opencc_convert($text_sc, $od);

$text_sc 是簡體字串
$text_tc 是正體字串
把 $text_tc 存資料庫即可

非常感謝您的指點,現在我正在嘗試這種方法。再次感謝您的指導

我要發表回答

立即登入回答