Pages

Subscribe:

Ads 468x60px

Labels

顯示具有 MySQL 標籤的文章。 顯示所有文章
顯示具有 MySQL 標籤的文章。 顯示所有文章

2015年12月11日 星期五

亂碼還原

我試了以下的做法
果然成功
當然搭配的編輯器也很重要

資料來源

以往本人要維護XOOPS 2.0.** 網站,常要使用自行上傳到空間且修改過編碼設定的phpmyadmin,而主機商提供的phpmyadmin則打入冷宮。現在,不管主機商的MySQL預設編碼為何,最新的XOOPS2.3.* 版可以讓主機商的phpmyadmin解凍。

曾在不久前於同一環境下再度安裝全新的兩個不同版本XOOPS - utf8 測試站,兩者皆用同一文字編碼與連線校對( UTF-8 Unicode ),再以主機商提供的phpmyadmin瀏覽,所得的結果是XOOPS 2.0.* 會出現亂碼,而XOOPS 2.3.* 則安然無事,中文顯示正常,由此可見XOOPS 2.3.* 在編碼方面已有明顯的改善。

雖然xoops 2.3.* 已改善了編碼方面的問題,但若是從舊版本升級至2.3.*,由於資料本質仍是以前的亂碼,升級後用主機商提供的phpmyadmin瀏覽,依然不能看到正常中文。若要使之正常,便要將主機商的phpmyadmin備份出來的亂碼資料還原為正常中文,而所需的工具就僅用一個輕便又強大的 EmEditor Professional 文字編輯器。

以下是在一個臨時建立的測試資料夾下所作的範例演示,建立於影子系統之下,儲存於此的資料檔案格式為sql,已在完成所有範例製作後重新啟動電腦,還原至沒有建立測試資料夾的狀態。

此例演示中的 EmEditor Professional 為已升級至最新版本的 8,與之前常用的版本7的不同之處在於多了如下圖7的警告視窗。

現在就來看看如何將亂碼還原成正常中文:

圖1) 開啟舊檔 
開啟舊檔

圖2) 在跳出的視窗中,「檔案類型」選SQL >>「編碼」選UTF-8 >> 「全部偵測」打勾 >> 按下開啟按鈕
跳出的視窗

圖3)按下按鈕後跳出如圖的視窗,自動偵測出UTF-8的準確值為100,這時不需作任何變更設定,就按下開啟按鈕。
自動偵測UTF-8

圖4)

圖 4a:這是其中的亂碼地方,是使用utf 8,實際以latin 1儲存的結果;
使用utf 8,實際以latin 1儲存

圖 4b:為版本資訊,紅框可以看到 set names 是 utf8;
set names 是 utf8

圖 4c:紅框裡的編碼與連線較對皆為utf8。在這亂碼的資料備份裡面,只有「註解」地方(如下圖)是正常中文。
編碼與連線較對皆為utf8

圖5) 要將亂碼還原為正常中文,那麼就另存新檔,下一步便要將utf 8編碼逆向存為latin 1
逆向存為latin 1

圖6)建立新檔名 >> 存檔類型選 SQL >> 編碼選西歐語系iso-8859-1(也就是latin 1) >> 按下儲存按鈕
存檔類型選; 編碼選西歐語系iso-8859-1

圖7) 這時會跳出警告視窗,不用擔心,編碼變更只影響不是latin 1的中文「註解」地方。繼續點選最下面綠框一項,按確定。
跳出警告視窗

圖8) 新增頁籤,然後將剛存檔好的第一個頁籤關閉。
新增頁籤

圖9) 在新頁籤上開啟舊檔 >> 選擇剛存好的新檔案 >> 檔案類型為SQL >> 編碼選UTF8 >> 「全部偵測」不打勾 >> 按下開啟鈕
開啟檔案

圖10) 

圖10a:之前圖4a 的亂碼地方,此時已還原為正常中文
還原正常中文

圖10b:這是將編碼逆向存為latin1後的結果,由於這部分只是作註解之用,不會影響資料的正常使用。
註解

整個還原過程已完成,可以將資料匯入phpmyadmin 裡的xoops 2.3.* 了。

2015年11月26日 星期四

Cent OS 7 安裝

這兩天架了一台Cent OS7的主機,我發現變化有點大。還好透過Google大神幫助找到幾篇文章,終於協助我將網站架設起來,並且啟動個人網站。

安裝重點可以參考
1.http://myip.tw/itsmw/index.php?title=CentOS7

重點是將SeLinux關閉

2.http://tech.hitsug.net/?CentOS-7%2FApache%2F%E8%A8%AD%E5%AE%9A
個人網站的開啟不再是透過http.conf
這篇資料提供設定的方式,調整後就可以正常運作

3.安裝webmin
這還是很重要的,另外CentOS7多了firewallD
透過這個來設定開放的Port
還有網路的設定必須啟動時就啟動網路設備
不然網路就不通了



2015年9月17日 星期四

Jbpm3.0在JBoss上的安装、部署及迁移

資料來源

由于国内对JBPM的研究较少,我们在研究该工作流研究后特把本手册公布出来,希望对大家有所帮助,手册由陆义平整理主要包括如下几点:
   1.  如何在一个干净的JBoss服务器上安装Jbpm3.0
   2.  如何将原Jbpm3.0缺省的数据库从HyperSonic改为MySql
   3.  如何发布流程包到mysql数据库,
   4.  如何部署原Jbpm3.0自带的Web应用例子。

1        安装之前的准备工作

1.1           JBoss 4.0.2

Jbpm3.0压缩包中预先配置好工作流引擎的JBoss应用服务器的版本为4.0.2,因此我们先安装好一个干净的JBoss 4.0.2(可从http://www.jboss.com/products/jbossas/downloads下载),假定我们安装在D:/dev/java/jboss-4.0.2(我们定义此目录为#{jboss.home},后同)JBoss自带了3种配置的服务器,我们可以在#{jboss.home}/server目录下面发现3个目录:minimal, default, all. 我们的jbmp server configuration将参考default server configuation模板而建立。

1.2           Mysql

在本手册中我们用到的Mysql版本是4.1.13。(可从http://www.mysql.com获得)

1.3           jbpm3.0压缩包

完整的jbpm3.0压缩包jbpm-starters-kit-with-eclipse-3.0.zip可从http://www.jboss.com/products/jbpm/downloads获得。

2        新建jbpm配置

2.1

#{jboss.home}/server目录下新建一个目录jbpm,将default目录下所有文件和目录copyjbpm下。

2.2

删除jbpm/deploy目录下的以下目录和文件(去掉不必要的模块,加快jbpm启动和运行速度):
/jboss-aop.deployer
/jboss-ws4ee.sar
/management
bsh-deployer.xml
hsqldb-ds.xml
jboss-ha-local-jdbc.rar
jboss-ha-xa-jdbc.rar
monitoring-serve.xml
properties-service.xml
schedule-manager-service.xml
scheduler-service.xml
uuid-key-generator.sar

2.3

删除jbpm/deploy/jms目录下的以下文件:
hqldb-jdbc2-server.xml
hsqldb-jdbc-state-service.xml
jbossmq-destinations-service.xml
同时将下面两个文件copyjms目录下(右键复制后粘贴到jms目录下):

3        创建jbpm数据库

上面我们配置好了一个jbpm server configuration,下面我们将要为jbpm server configuration创建一个mysql数据库来存放jbpm系统表,同时将jboss下的jbpm server configuration所引用的数据源指向我们创建的mysql数据库。执行下列步骤前保证mysql已经启动。
      

3.1           新建一个数据库

打开mysql的命令行客户端,创建一个数据库名为jbpm3
CREATE DATABASE jbpm3;
USE jbpm3;

3.2           创建jbpm系统表

jbpm完整压缩包的jbpm-db/build/mysql/scripts目录下我们可以找到4sql脚本文件,执行其中的mysql.create.sql,这样我们就创建了jbpm所需要的系统表。

3.3           创建Web例子用户

创建web应用例子中所需要的4个用户
INSERT INTO JBPM_ID_USER VALUES(1,'U','cookie monster','cookie.monster@sesamestreet.tv','crunchcrunch');
INSERT INTO JBPM_ID_USER VALUES(2,'U','ernie','ernie@sesamestreet.tv','canthereyoubert,theresabananainmyear');
INSERT INTO JBPM_ID_USER VALUES(3,'U','bert','bert@sesamestreet.tv','ernie,theresabananainyourear');
INSERT INTO JBPM_ID_USER VALUES(4,'U','grover','grover@sesamestreet.tv','mayday mayday');

3.4           deploy Mysql数据源

下面我们将HyperSonic数据源替换成Mysql数据源
首先将mysqljdbc驱动程序(文件名为mysql-connector-java-3.1.7-bin.jar,可以在jbpm3.0的完整压缩包的jbpm-db/mysql/lib目录下找到)copy#{jboss.home}/server/jbpm/lib目录下,
然后将下面的文件copy#{jboss.hom}/server/jbpm/deploy目录下,请注意修改该xml文件中的数据库用户名和口令
这样我们就将原来JBoss所指向的HyperSonic数据源替换成Mysql的数据源了。

4        部署jbpm服务包

#{jboss.home}/server/jbpm/deploy目录下新建jbpm.sar目录,将下面的sar文件(标准zip格式)展开在jbpm.sar目录下
展开后的目录结构如下图所示

5        Recompile&depploy jbpm相关文件

下面我们将重新编译和发布jbpm例程相关包,主要涉及到以下几个模块:
l         Websale流程包(websale.par)。
l         Websale应用例子(jbpm.war)。

5.1           新建一个java project

5.1.1 eclipse中新建一个java project,命名为myjbpm
5.1.2 将下列两个目录copysrc目录下
位于jbpm压缩包/jbpm/src/java.webapp下的org目录
位于jbpm压缩包/jbpm/src/java.examples/org/jbpm下的websale目录(请删除WebsaleTest.java文件!
5.1.3 myjbpm下新建一个目录lib,将下列jar文件copylib目录下:
antlr-2.7.5H3.jar
asm.jar
bsh-2.0b2.jar
cglib-2.1.jar
commons-collections-2.1.1.jar
commons-logging.jar
dom4j.jar
ehcache-1.1.jar
hibernate3.jar
javax.servlet.jar
javax.servlet.jsp.jar
jbpm-3.0.jar
jbpm-identity-3.0.jar
jta.jar
mysql-connector-java-3.1.7-bin.jar
lib目录下新建一个目录jsf,将下列jar文件copyjsf目录下:
commons-beanutils-1.6.1.jar
commons-digester-1.5.jar
jstl-1.1.0.jar
myfaces-1.0.9.jar
myfaces-impl-1.0.9.jar
myfaces-jsf-api-1.0.9.jar
standard-1.1.2.jar

5.1.4 myjbpm下新建一个目录resources,将下列目录copy到其下
位于jbpm压缩包/jbpm/src/resources下的jbpm.war目录
位于jbpm压缩包/jbpm/src/process.examples下的websale.par目录

5.1.5 copy以下文件到myjbpm目录下
请注意更改build.xmldeploy.dir的属性以及hibernate.cfg.xml中数据库的用户名和口令,打开build.xml文件并执行deploy.processdeploy.war两个目标对象。
执行完成后,我们就将websale流程包和webapp应用例程部署完毕了

6        运行jbpm server configuration

在命令行模式切换到#{jboss.home}/bin目录下,运行下列命令
run –c jbpm
jboss启动成功后即可按照原来的模式运行web例程。

7        调试web应用例程

如果想debug刚才部署的web应用例程,可以按照以下步骤操作:

7.1 安装JBoss-IDE plug-in for Eclipse

Jboss-IDE plug-in可以从http://www.jboss.com/products/jbosside/downloads下载


7.2 配置project debug环境