English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

請問 我有自己難字造字(USRFONT.24M)! 但是使用PHP 都無法寫入 Mysql ..
只要遇到有自己造的字就會出現 Data too long for column \'name\' at row
其他中文都沒問題! 但是只要自己造字的字就無法寫入 !

例如 :  <-- ㄊㄨ/

MySQL - 5.0.18
MySQL 文字編碼: UTF-8 Unicode (utf8)
MySQL 連線校對: big5_chinese_ci

PHP使用 Big5 型態寫入資料庫
mysql_query(\"SET NAMES \'big5\'\");
mysql_query(\"SET CHARACTER_SET_CLIENT=big5\");
mysql_query(\"SET CHARACTER_SET_RESULTS=big5\");

我想可能是MySql的校對問題! 舊版的好像直接不校對不管文字形態直接寫入
但是新版的需要做一個校對..是否可以重PHP文字轉換下手? 但我該怎麼做呢??
請問我該怎麼辦@@真是困擾~

2006-03-29 15:53:10 · 4 個解答 · 發問者 ? 2 in 電腦與網際網路 程式設計

~"~ 在舊的資料庫裡面 Insert 進去是沒問題的
因為用的是新版的MySql.. 才出現問題...
我在寫內部系統.. 不是要放在網路上..

2006-03-30 04:51:20 · update #1

4 個解答

這個字碼的結構是FA 06
換句話說, 寫進去應該是不成問題的
有一個方法可以達成您要的目標,
就是不要透過 PHP 來進行 insert (可能是 PHP 的 MBSTRING設定有問題吧)
mysql --user=xxxx --password=xxxx < 你的命令檔案.sql
這個方法, 應該可以讓解決您的問題.

舊版的 MYSQL 使用 latin1_swedish_ci 編碼. 也許你改變成這個編碼也能解決您的問題.但是有些字會變的無法查詢. 例如: 許功蓋.

其實, 如果不再乎查詢功能的話, 可以使用下面的方法, 也許會有解.
1. 先將文字 POST 一次(也就是 urlencode)
2. 再將post後的結果寫入.
取出後的結果將會完全相符. 自造字也能夠顯示於網頁當中(當然必須是顯示的電腦也必須有這個造字檔)
這樣子做了之後, 有些字將會以 #31etc.. 的方式出現. 對於顯示就不能問題. 而會造成的問題是, 所有查詢都要經過 POST 才能查詢.

個人覺得, 似乎您的問題並不在於造字檔. 而是在於不能排除 escape 字元. 才會有問題. 換句話說, 您可以先試著做下面的方法.

function ext_code($encode_string){ $encode_string=urlencode($encode_string);
$encode_string=ereg_replace("%5C%22","%22",$encode_string);
$encode_string=ereg_replace("%5C%5C", "%5C",$encode_string);
$encode_string=urldecode($encode_string);
$encode_string=base64_encode($encode_string);
return $encode_string;
}
$query="INSERT INTO `student` ( `t21`, `t3`, `t4`, `t17`, `t9`, `t15`, `t26` ) VALUES ( '".ext_code($t3)."', '".ext_code($t4)."', '".ext_code($t5)."', '".ext_code($t6)."', '".ext_code($t7)."', '".ext_code($t7)."', '".ext_code("0".$t2)."' )";
如果可以寫入, 而且取出的文字可以使用 base64_decode 還原的話.
那麼您確定要找的答案應該就是

http://tw.knowledge.yahoo.com/question/?qid=1205071814141

僅供參考

2006-03-30 06:54:33 · answer #1 · answered by ? 5 · 0 0

老實講 我對那些碼也是搞的蠻亂的
我是用 utf8_unicode_ci 不過功能正常就好^^

2006-08-07 06:26:27 · answer #2 · answered by ? 2 · 0 0

請問思想引導
"我把資料庫型態改為 UTF8 校對! "
是指utf8_bin
還是utf8_unicode_ci

2006-08-06 23:21:38 · answer #3 · answered by Russel 1 · 0 0

想要把自己造的字 Insert進資料庫,然後在網頁中秀出?基本上是沒有辦法的!即使是能夠Insert進資料庫,也無法在網頁中正常顯示。建議版主參考全字庫:http://www.cns11643.gov.tw/web/index.jsp

2006-03-29 18:16:06 · answer #4 · answered by 哈姆雷特.肚皮 7 · 0 0

fedest.com, questions and answers