DbVisualizer如何正確顯示中文(Oracle連線)
DbVisualizer是一款很好用又跨平台的資料庫工具(java), 但是常常剛開始使用的時候, 會有中文亂碼的問題,
以oracle 為例子, 需要將字型改為中文字型, 才能正確顯示中文, 解決方式如下:
ps. 若mysql可能要使用另外一中設定的方式.
DbVisualizer是一款很好用又跨平台的資料庫工具(java), 但是常常剛開始使用的時候, 會有中文亂碼的問題,
以oracle 為例子, 需要將字型改為中文字型, 才能正確顯示中文, 解決方式如下:
ps. 若mysql可能要使用另外一中設定的方式.
使用java產出PDF很麻煩, 除了要了解iText 7外 , 還要手工製作, 超級費時,甚至要搞定中文字型, 難怪沒人提出解法.
因此我想到使用 Jasper Report 產出報表的方式, 利用內建匯出PDF的功能(也需要iText 2.1.7),就能達到目的.
簡易步驟如下:
因為偶使用eclipse開發java軟體,號稱跨平台, 但是實際上使用到eclipse SWT元件都知道, 還是要另外匯出各個平台的jar檔案,才能到不同平台上執行, 而且還必須區分32位元與64位元.
eclipse匯出的可執行的jar檔案既然區分這麼多, 那就者能依靠打包軟體幫忙, 這裡推薦advanced installer.
Advanced Installer對於32位元與64位元設定條件, 偶看得有點霧煞煞, 只好紀錄一下.
Advanced Installer 專案新增好之後, 請點選 “Organization”就可以詳細看到相關的設定
以往讀取老舊DBF資料檔案 , 只要透過ODBC , 搭配MSQRY這隻程式就可以下SQL指令完成任務.
可是這些常用的工具漸漸地不再支援, 連java 8之後也不內含JdbcOdbc, 簡單的說若你有老系統的資料要讀取, 已經是非常困擾的一件事情, 因此有必要將這些資料都導出來, 方便查閱.
因此偶找到一些好用的函式庫(jdbf), 再簡單寫一個GUI程式, 可將DBF轉成Excel, 最後就再也用不到這些老舊的檔案了. 程式可在此下載
1. Windows 7 64bits or above or Ubuntu 16.04 64bits or above
2. java 8 or above
前幾天寫了一個簡易的函式庫(使用hid4java), 讓須要與USB HID設備連線的程式使用, 後來乾脆又開發一個可以與USB HID設備溝通的GUI版本, 請到這裡參考原始檔(裡面含可執行的jar檔案)
多個byte array 要加起來,很簡的作法
import java.io.ByteArrayOutputStream; import java.io.IOException; public class Tester { public static void main(String[] args) throws IOException { byte[] ArrayA = { 1,2,3}; byte[] ArrayB = { 4,5,6}; ByteArrayOutputStream baos = new ByteArrayOutputStream(); baos.write(ArrayA); baos.write(ArrayB); byte[] c = baos.toByteArray(); for(int i=0; i< c.length ; i++) { System.out.print(c[i] +" "); } } }
有些產品必須透過USB-HID連線方式, 才能進行溝通, 偶記得以往都是使用vb6(好古老)的方式連線, java能派上用場的機會不多.
但最近有個需求, 需使用java開發windows app, 但是又必須透過USB-HID的方式讀取產品的資料.
若依照以往(好多年前), 偶寫個vb6程式, 透過hid的方式讀取資料後存成txt檔案; 最後再使用java觸發vb6程式, 處理vb6抓取出來的txt檔案.
java 呼叫 vb6 的解法, 雖然可解, 但就差在現在誰在跟你寫vb6, 身為java old school 的偶, 看到vb6就討厭, 又不想寫.net程式與usb溝通, 導致遇到這種USB-HID的需求, 我就鬱卒 🙁
Oh ya!
幾年後的今天, 想說找找open source是否有pure java的解, 終於找到了
可以使用 https://github.com/gary-rowe/hid4java 這個專案搭配 JNA library 完成 pure java 的期望.
目前偶用 hid4java 0.5.0 + JNA 4.1.0 用得很順, 還可以跨三個平台 Mac , Linux , Windows , 真是棒啊
咖啡偶習慣把這些東西作成簡單好用的工具函式庫 , 基本上就是發送指令到usb hid設備 , 然後接收到資料,請到以下連結參考:
https://bitbucket.org/inmethod/inmethodusblib
PS. 只提供usb連線的裝置超冷門的, 未來將漸漸勢微
tomcat 8.0移轉到8.5時候, 要注意原本應用軟體是否有用到傳統的cookie方式,
若有則必須在 context.xml 檔案加上一段相容的設定, 否則會無法使用舊系統的cookie認證方式
<CookieProcessor className="org.apache.tomcat.util.http.LegacyCookieProcessor" />
java 是有版權的(oracle公司) , 若開發時候使用到有版權的部份, 就會有侵權的疑慮.
因此linux上開發java系統, 通常安裝沒版權疑慮的JDK : openjdk.
當然也可以安裝 oracle java , 只是上線時候, 版權記得要注意.
1. 安裝 openjdk
sudo apt install default-jdk
確認安裝是否成功
javac -version
2. 安裝 oracle jdk
sudo add-apt-repository ppa:webupd8team/java
sudo apt update
sudo apt install oracle-java8-installer
3. 選擇目前使用哪種java
sudo update-alternatives –config java
Tomcat 升級! 10多年來從5.x,6.x,7.x到8.0, 都相安無事, 到了8.5, 自己本身老舊專案所使用的cookie架構若不想改,就會出問題, 除非於tomcat 8.5加上相容的設定
<CookieProcessor className=“org.apache.tomcat.util.http.LegacyCookieProcessor” />