  | 
				VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.   
				 | 
			 
		 
		 
	
		| 上一篇主題 :: 下一篇主題   | 
	 
	
	
		| 發表人 | 
		內容 | 
	 
	
		garfield Site Admin
  
  註冊時間: 2003-01-30 文章: 2160
 
  第 1 樓
  | 
		
			
				 發表於: 星期六 四月 22, 2006 5:43 pm    文章主題: mysql 4.1版中文字亂碼 | 
				     | 
			 
			
				
  | 
			 
			
				安裝MySQL 4.1當後端資料庫,
 
雖然已將內定編碼改成big5
 
但vfp抓出來的table 裡的中文仍然是亂碼,
 
是編碼的問題,
 
 
在網路上找到 http://www.neo.com.tw/archives/000552.html
 
重點是改變編碼方式:
 
例:
 
sqlhead=SQLSTRINGCONNECT([Driver=MySQL ODBC 3.51 Driver;Port=3306;Server=localhost;Database=test;Uid=root;Pwd=yourpassword;option=515;])
 
? SQLEXEC(sqlhead , [SET NAMES 'big5'])
 
 
 
### 原文如下 ####
 
[MySQL] MySQL 4.1 抓取 big5 編碼資料的方法 
 
MySQL 4.1 之後已經把 utf-8 作為預設編碼,如果把 4.0.x 的資料放入 4.1 的資料庫,抓出來的資料不是亂碼就是一堆問號 ?? 。
 
 
尤其在租用虛擬主機的狀況下,my.ini 完全不在自己手裡,這時程式的修改是一定要的,只是要怎麼做最不花時間。
 
 
這時只要在 MySQL 連線後(也就是下 SQL 指令之前),加一行指定編碼的 SQL 即可,如紅字部份所示: 
 
 
$link = mysql_connect("mysql.abc.com.tw", "test", "test");
 
$db = mysql_select_db("mysql_41", $link);
 
$charset = mysql_query("SET NAMES 'big5'", $link); 
 
$query = mysql_query("SELECT * FROM Test" , $link);
 
 
這個 SET NAMES 'big5' 就是代表:
 
 
SET character_set_client = big5;
 
SET character_set_results = big5;
 
SET character_set_connection = big5;
 
 
如果想知道這三個參數代表的意義,可以參考:
 
 
http://dev.mysql.com/doc/mysql/en/charset.html _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		elleryq
 
  
  註冊時間: 2007-06-21 文章: 768
 
  第 2 樓
  | 
		
			
				 發表於: 星期三 五月 03, 2006 3:14 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				這個是蠻討厭的問題...
 
網路上很多人討論。 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
  | 
   
  
		 |