:::
開發者討論區
Ooo2.0 Base + MySql無法使用中文輸入
Hi,all
我想要使用Ooo2.0+mysql去實現具線上管理功能的資料庫
發現中文輸入會變成"?"
我在站上有看到螢火飛大大之前寫的教學文章,不過是1.0版的
2.0在連結資料庫時沒有讓我輸入編碼的地方
說明一下我的設定法
01.安裝Ooo2.0+jre5.x
02.在"C:\Program Files\Java\jre1.5.0_06\lib\ext\"置入"mysql-connector-java-3.1.5-gamma-bin.jar"
下載點在這裡
http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-3.1.5-gamma.zip/from/http://mirrors.hpcf.upr.edu/mysql/
03.安裝xampp
http://www.apachefriends.org/en/xampp.html
04.啟動xampp以phpmyadmin任意建立一個資料庫
05.啟動Ooo Base進入資料庫連線精靈
setp1.連結到現有資料庫 "MySql"
setp2.設定到MySql資料庫的連結
setp3.資料庫名稱:填上剛才04.中所建立的資料庫
伺服器URL:localhost(我是放在本機)
....(其餘保留預設即可)
setp4.使用者名稱"root" (xampp預設沒密碼)
setp5.按完成即可,註冊資料庫的部份不用選
請有相關設定經驗的朋友幫忙看一下,謝謝!
我想要使用Ooo2.0+mysql去實現具線上管理功能的資料庫
發現中文輸入會變成"?"
我在站上有看到螢火飛大大之前寫的教學文章,不過是1.0版的
2.0在連結資料庫時沒有讓我輸入編碼的地方
說明一下我的設定法
01.安裝Ooo2.0+jre5.x
02.在"C:\Program Files\Java\jre1.5.0_06\lib\ext\"置入"mysql-connector-java-3.1.5-gamma-bin.jar"
下載點在這裡
http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-3.1.5-gamma.zip/from/http://mirrors.hpcf.upr.edu/mysql/
03.安裝xampp
http://www.apachefriends.org/en/xampp.html
04.啟動xampp以phpmyadmin任意建立一個資料庫
05.啟動Ooo Base進入資料庫連線精靈
setp1.連結到現有資料庫 "MySql"
setp2.設定到MySql資料庫的連結
setp3.資料庫名稱:填上剛才04.中所建立的資料庫
伺服器URL:localhost(我是放在本機)
....(其餘保留預設即可)
setp4.使用者名稱"root" (xampp預設沒密碼)
setp5.按完成即可,註冊資料庫的部份不用選
請有相關設定經驗的朋友幫忙看一下,謝謝!
1129171371
setp1.連結到現有資料庫 "MySql" ---> 建議改為:JDBC
資料來源URL:
jdbc:mysql://[host][:port]/[database][?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]...
資料庫後面再加入:?useUnicode=true&characterEncoding=big5
encoding可依照實際情形輸入:big5, gb2312, utf-8, ....
資料來源URL:
jdbc:mysql://[host][:port]/[database][?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]...
資料庫後面再加入:?useUnicode=true&characterEncoding=big5
encoding可依照實際情形輸入:big5, gb2312, utf-8, ....
如果您的作業系統是 Windows 的話,請到 mysql 官方網站下載 Windows MySQL 的驅動程式,有一點要注意的是,MySQL Server 版本若是 4.0 以上,建議您下載 MyODBC-standard-3.51.9-win.msi,這樣存取 UTF-8 編碼才不會有問題。
若是 Linux 的話,請檢查您的系統有沒有安裝 MyODBC 套件,若是沒有,請用 Linux 提供的套件安裝程式,安裝 MyODBC 即可。
Windows 的使用者安裝完 MyODBC 驅動程式後,可以從控制台─ODBC 選 MySQL 設定 MySQL 伺服器資料。
Linux 使用者,請先看看 /etc/odbcinst.ini 有沒有如下的資料 :
沒有的話,請自行加進去。
再來,在自己的家目錄下,建立一個名為 .odbc.ini 的檔案,內容如下 :
範例中的 ePaper 只是範例,請自行換掉您想用的名稱,DATABASE 是指資料庫名稱,SERVER 指定 MySQL Server 位址,USER 是使用者名稱,PASSWORD 不建議您寫在檔案內,保持空白。
設定完之後,開啟 OOo Base 指定 MySQL ODBC,在資料來源按下瀏覽按鈕,就可以看到您剛剛設定的 DSN 名稱了,選取後,輸入使用者名稱,以及是否有密碼,按測試,看看可否連接成功,如果失敗,請檢查您的 .odbc.ini 是否設定正確。
都正確後,在 OOo Base 中,就可指定該 DSN 指向之 MySQL 的編碼了,這樣應該很清楚了吧。
若是 Linux 的話,請檢查您的系統有沒有安裝 MyODBC 套件,若是沒有,請用 Linux 提供的套件安裝程式,安裝 MyODBC 即可。
Windows 的使用者安裝完 MyODBC 驅動程式後,可以從控制台─ODBC 選 MySQL 設定 MySQL 伺服器資料。
Linux 使用者,請先看看 /etc/odbcinst.ini 有沒有如下的資料 :
le="color: #000000"><?php [MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/libmyodbc.so
Setup = /usr/lib/libodbcmyS.so
FileUsage = 1
沒有的話,請自行加進去。
再來,在自己的家目錄下,建立一個名為 .odbc.ini 的檔案,內容如下 :
le="color: #000000"><?php [ePaper]
Trace = Off
TraceFile = stderr
Driver = /usr/lib/libmyodbc.so
DSN = ePaper
SERVER = 192.168.1.102
USER =
PASSWORD =
PORT = 3306
DATABASE = OSSIIDB
範例中的 ePaper 只是範例,請自行換掉您想用的名稱,DATABASE 是指資料庫名稱,SERVER 指定 MySQL Server 位址,USER 是使用者名稱,PASSWORD 不建議您寫在檔案內,保持空白。
設定完之後,開啟 OOo Base 指定 MySQL ODBC,在資料來源按下瀏覽按鈕,就可以看到您剛剛設定的 DSN 名稱了,選取後,輸入使用者名稱,以及是否有密碼,按測試,看看可否連接成功,如果失敗,請檢查您的 .odbc.ini 是否設定正確。
都正確後,在 OOo Base 中,就可指定該 DSN 指向之 MySQL 的編碼了,這樣應該很清楚了吧。
1065351712
謝謝螢火飛大大您詳細的解說,可以使用了 ^^
不過我在使用phpmyadmin登入時發現內文是亂碼?
而之前建立錯誤的無法在Ooo開啟的資料庫名稱反而在phpmyadmin內顯示出正確的中文字,怪了~
我確定我的瀏覽器編碼是utf-8,而且在Ooo有把資料庫指定utf-8
不曉得是不是平台的關係
我再抓看看問題出在哪
note
phpmyadmin utf-8無法正確顯示這樣子做或許可行
config.inc.php ,把以下的變數都改為 utf-8 :
$cfg['DefaultLang'] = 'utf-8';
$cfg['DefaultCharset'] = 'utf-8';
這個看看裡面有沒有 utf-8 ,沒有的話就自己加進去:
$cfg['AvailableCharsets'] = array(
:
'utf-8',
:
);
這個把 FALSE 改成 TRUE
$cfg['AllowAnywhereRecoding'] = TRUE;
1129171371
參照:
您應該是用 Windows 吧?
Windows 版的 MyODBC 配合 MySQL 4 Server UTF-8 會有您所描述的問題,我也是被搞得快要花轟
後來才發現,這跟 MyODBC 的版本有關,請不要抓最新版的 ODBC Driver,用以下這個版本的 Driver 就沒問題了。
ftp://ftp.cs.pu.edu.tw/Unix/mysql/Downloads/MyODBC3/MyODBC-standard-3.51.9-win.msi
另外,還要注意MySQL Server 的 my.cnf ,有沒有加上下列敘述:
不過我在使用phpmyadmin登入時發現內文是亂碼?
而之前建立錯誤的無法在Ooo開啟的資料庫名稱反而在phpmyadmin內顯示出正確的中文字,怪了~
我確定我的瀏覽器編碼是utf-8,而且在Ooo有把資料庫指定utf-8
不曉得是不是平台的關係
您應該是用 Windows 吧?
Windows 版的 MyODBC 配合 MySQL 4 Server UTF-8 會有您所描述的問題,我也是被搞得快要花轟
後來才發現,這跟 MyODBC 的版本有關,請不要抓最新版的 ODBC Driver,用以下這個版本的 Driver 就沒問題了。ftp://ftp.cs.pu.edu.tw/Unix/mysql/Downloads/MyODBC3/MyODBC-standard-3.51.9-win.msi
另外,還要注意MySQL Server 的 my.cnf ,有沒有加上下列敘述:
le="color: #000000"><?php [mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
default-character-set=utf8
[mysql.server]
user=mysql
basedir=/var/lib
default-character-set=utf8
1065351712
Hi,
我昨天有試自己家裡的Linux PC (Ubuntulinux)
也是一樣用xampp去跑(lampp)
在設定上我回家有空再把詳細的資訊整理上來
不管在linux或MS底下,都能正確的連線並輸入中文(utf8)
使用phpmyadmin瀏覽資料同樣都是亂碼
Ps.非?????
而剛才我有試著修改my.cnf
採用utf8及big5
測試結果是在Ooo輸入時文字都變成???
我有用"phpmyadmin 亂碼"的字串去找答案
得到的結果是phpmyadmin的問題!!
後來我使用phpmyadmin去找原本以mediawiki建立的資料發現是亂碼沒錯....
原來是烏龍一場XD
我才剛接觸Access沒多久,一下子要轉進去sql似乎有點困難...>"<
未來這份資料庫可以用php直接寫成多人線上使用,想一想蠻方便的 ^^
1129171371
apt-get install unixODBC libmyodbc
/etc/odbcinst.ini
/etc/odbc.ini
由於我是用lampp去架資料庫
所以必須自己建立連結sock
ps.每次啟動都必需要重新建立,所以順便寫在開機程序中吧~
遠端連線控制
假如您在遠端連線出現下面錯誤訊息
請參考此設定
建立好上述的程序後就能順利的以ODBC的方式去連結資料庫
以上MySQL(with lampp)+Ooo Base 2.02
/etc/odbcinst.ini
le="color: #000000"><?php [MySQL]
Description = MySQL driver
Driver = /usr/lib/odbc/libmyodbc.so
Setup = /usr/lib/odbc/libodbcmyS.so
CPTimeout =
CPReuse =
FileUsage = 1
/etc/odbc.ini
le="color: #000000"><?php Driver = MySQL
Database = ooo
Trace = Off
TraceFile = stderr
DSN = MySQL
SERVER = localhost
USER =
PASSWORD =
PORT = 3306
DATABASE = OSSIIDB
由於我是用lampp去架資料庫
所以必須自己建立連結sock
le="color: #000000"><?php mkdir /var/run/mysqld
ln -s /opt/lampp/var/mysql/mysql.sock /var/run/mysqld/mysqld.sock
ps.每次啟動都必需要重新建立,所以順便寫在開機程序中吧~
遠端連線控制
假如您在遠端連線出現下面錯誤訊息
le="color: #000000"><?php [MySQL][ODBC 3.51 Driver]Client does not support authentication protocol requested by server; consider upgrading MySQL client
請參考此設定
le="color: #000000"><?php mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newPassword')
-> WHERE Host = 'someHost' AND User = 'someUser';
mysql> FLUSH PRIVILEGES;
建立好上述的程序後就能順利的以ODBC的方式去連結資料庫
以上MySQL(with lampp)+Ooo Base 2.02
1129171371
Hi,all
發表一下幾個我目前使用上的心得
資料表欄位只能在第一次輸入時變動,一旦建立後無法進行修改
資料表欄位建立好後一定要建立主索引鍵,否則會無法正常使用!
主索引鍵要設定成自動跳號必需直接以入MySQL修改欄位值
無法在OOo Base提供的介面做修改
解決方案:
資料表欄位可以使用phpmyadmin去做輔助修改
這部份我有用phpmyadmin做權限上的修改,結果還是一樣,照理說有權限建立資料表欄位的話,修改資料表也應該沒問題才對
另外,我把主機改成Debian Sarge後,直接使用上面的套件安裝,phpmyadmin中文顯示與MySQL也連線密碼錯誤的問題就解決了
PS.MySQL之所以無法連線是因為4.0與4.1以後的版本密碼的加密法不同,直接以SQL指令去修改密碼即可解決此問題
歡迎有使用Ooo Base+MySQL的人一起來共同討論
發表一下幾個我目前使用上的心得
資料表欄位只能在第一次輸入時變動,一旦建立後無法進行修改
資料表欄位建立好後一定要建立主索引鍵,否則會無法正常使用!
主索引鍵要設定成自動跳號必需直接以入MySQL修改欄位值
無法在OOo Base提供的介面做修改
解決方案:
資料表欄位可以使用phpmyadmin去做輔助修改
這部份我有用phpmyadmin做權限上的修改,結果還是一樣,照理說有權限建立資料表欄位的話,修改資料表也應該沒問題才對
另外,我把主機改成Debian Sarge後,直接使用上面的套件安裝,phpmyadmin中文顯示與MySQL也連線密碼錯誤的問題就解決了
PS.MySQL之所以無法連線是因為4.0與4.1以後的版本密碼的加密法不同,直接以SQL指令去修改密碼即可解決此問題
歡迎有使用Ooo Base+MySQL的人一起來共同討論
1129171371
ODBC圖型建面設置
# apt-get install unixodbc unixodbc-bin libmyodbc
# ODBCConfig
原文出處
http://www.litrin.net/?q=node/210
1129171371

