[問題] Appserv 2.5.6 執行顯示中文問號

AppServ Running Discuss
關於 AppServ 架設使用操作討論,沒有按照發文格式一律砍文!

版主: 版主管理群

回覆文章
sdlla
星球公民
星球公民
文章: 39
註冊時間: 2004-12-19 16:26

[問題] Appserv 2.5.6 執行顯示中文問號

文章 sdlla »

Windows 作業系統版本:Xp Pro

Appserv 安裝版本:2.5.6

發生問題:
我安裝完成後, 在新增資料庫跟資料表的時候都是選擇 utf8_general_ci,

結果我在 Dreamweaver 連結資料庫測試的時候中文字都是問號,

而且執行出來的檔案中文字的部份也是問號,

後來上網查到一個語法加入網頁裡面後之後才可以正常顯示,

代碼: 選擇全部

mysql_query("SET NAMES 'utf8'");
問題這因該是治標不治本而已吧? 請問這要怎麼解決? 謝謝.

(我爬過一些文章了, 可是都是講舊版的, 很多說要改的東西我在文件內都找不到, 所以有困難 :oops: )
chiouss
竹貓忠實會員
竹貓忠實會員
文章: 1741
註冊時間: 2002-11-29 18:19

Re: [問題] Appserv 2.5.6 執行顯示中文問號

文章 chiouss »

sdlla 寫:後來上網查到一個語法加入網頁裡面後之後才可以正常顯示,

代碼: 選擇全部

mysql_query("SET NAMES 'utf8'");
問題這因該是治標不治本而已吧? 請問這要怎麼解決? 謝謝.
就是這樣解決,不用懷疑...

可以參考一下拙作 http://chiouss0817.wordpress.com/2006/0 ... -to-utf-8/ 的寫法,基本上這段不加是不會解決的,差別是加在哪裡而已...
sdlla
星球公民
星球公民
文章: 39
註冊時間: 2004-12-19 16:26

Re: [問題] Appserv 2.5.6 執行顯示中文問號

文章 sdlla »

chiouss 寫:
sdlla 寫:後來上網查到一個語法加入網頁裡面後之後才可以正常顯示,

代碼: 選擇全部

mysql_query("SET NAMES 'utf8'");
問題這因該是治標不治本而已吧? 請問這要怎麼解決? 謝謝.
就是這樣解決,不用懷疑...

可以參考一下拙作 http://chiouss0817.wordpress.com/2006/0 ... -to-utf-8/ 的寫法,基本上這段不加是不會解決的,差別是加在哪裡而已...
你給的網址我直接參考第六步而已 ( 因為我不適用phpbb 我是要自己寫東西 )

上面寫的 [server] <--- 這個我根本就找不到,

而且跟我用的 MySQL 因該是不一樣的樣子,

我沒有懷疑, 我問的重點因該是我把這段程式加入網頁中是治標不治本,

那要如何從 MySQL 修改下手? 或者是什麼辦法? 而不是要去增加網頁的程式,

你給的文章我完全不知道要怎麼下手, my.ini 也找不到上面所寫的東西,

可以的話請詳述, 謝謝.
chiouss
竹貓忠實會員
竹貓忠實會員
文章: 1741
註冊時間: 2002-11-29 18:19

Re: [問題] Appserv 2.5.6 執行顯示中文問號

文章 chiouss »

sdlla 寫:你給的網址我直接參考第六步而已 ( 因為我不適用phpbb 我是要自己寫東西 )
本來就是要你參考有用的內容就好 :P
上面寫的 [server] <--- 這個我根本就找不到,
沒有的話請自己加上
而且跟我用的 MySQL 因該是不一樣的樣子,
4.1 以後都有這個問題 :Q
我沒有懷疑, 我問的重點因該是我把這段程式加入網頁中是治標不治本,
那要如何從 MySQL 修改下手? 或者是什麼辦法? 而不是要去增加網頁的程式,
你給的文章我完全不知道要怎麼下手, my.ini 也找不到上面所寫的東西,
可以的話請詳述, 謝謝.
這是 MySQL 的新功能,所以說要多家敘述進去 PHP 裡面不是治標,而是治本的方法之一 (看你怎麼去想啦!)。加在 my.ini 裡面只是偷懶的辦法,但是不是每個程式連 MySQL 都是用 utf8 去塞東西的,有一定的問題存在。

這個問題的來龍去脈可以找一下我在站上之前寫的文章,忘記被搬到哪區去了 :Q
sdlla
星球公民
星球公民
文章: 39
註冊時間: 2004-12-19 16:26

文章 sdlla »

chiouss 寫:
sdlla 寫:你給的網址我直接參考第六步而已 ( 因為我不適用phpbb 我是要自己寫東西 )
本來就是要你參考有用的內容就好 :P
上面寫的 [server] <--- 這個我根本就找不到,
沒有的話請自己加上
而且跟我用的 MySQL 因該是不一樣的樣子,
4.1 以後都有這個問題 :Q
我沒有懷疑, 我問的重點因該是我把這段程式加入網頁中是治標不治本,
那要如何從 MySQL 修改下手? 或者是什麼辦法? 而不是要去增加網頁的程式,
你給的文章我完全不知道要怎麼下手, my.ini 也找不到上面所寫的東西,
可以的話請詳述, 謝謝.
這是 MySQL 的新功能,所以說要多家敘述進去 PHP 裡面不是治標,而是治本的方法之一 (看你怎麼去想啦!)。加在 my.ini 裡面只是偷懶的辦法,但是不是每個程式連 MySQL 都是用 utf8 去塞東西的,有一定的問題存在。

這個問題的來龍去脈可以找一下我在站上之前寫的文章,忘記被搬到哪區去了 :Q
我是不是只要在 my.ini 裡面隨意處加上下面這段程式碼就可以了?

代碼: 選擇全部

[server]
init_connect='SET NAMES utf8'
default-character-set = utf8
不過我剛剛測試了一下, 還是一樣說, 我還缺什麼東西嗎? 還是我加錯地方了?

我想在問一下, 原本的編碼 latin1_swedish_ci 不是可以使用中文儲存嗎?

怎麼我現在用這版的 latin1_swedish_ci 變的不能存了?

是因為 MySQL 有問題還是這個本來就不能儲存中文?

麻煩一下, 謝謝.
chiouss
竹貓忠實會員
竹貓忠實會員
文章: 1741
註冊時間: 2002-11-29 18:19

文章 chiouss »

sdlla 寫:我是不是只要在 my.ini 裡面隨意處加上下面這段程式碼就可以了?

代碼: 選擇全部

[server]
init_connect='SET NAMES utf8'
default-character-set = utf8
不過我剛剛測試了一下, 還是一樣說, 我還缺什麼東西嗎? 還是我加錯地方了?
你原本的 my.ini 長得怎樣啊?丟出來 (但是不要貼在這邊) 給我看看?
我想在問一下, 原本的編碼 latin1_swedish_ci 不是可以使用中文儲存嗎?
怎麼我現在用這版的 latin1_swedish_ci 變的不能存了?
是因為 MySQL 有問題還是這個本來就不能儲存中文?
你說的"原本"是指哪個版本?MySQL 4.1 之前沒有編碼和轉碼的功能,所以這方面的問題比較少 (也不完全是沒有問題)。

4.1 之後因為有這個功能,進去和出來 mysql 資料庫的內容都會有轉碼引擎作轉換,所以沒有告訴資料庫你現在的語系和編碼是什麼會得到有問題的資料。
sdlla
星球公民
星球公民
文章: 39
註冊時間: 2004-12-19 16:26

文章 sdlla »

chiouss 寫:
sdlla 寫:我是不是只要在 my.ini 裡面隨意處加上下面這段程式碼就可以了?

代碼: 選擇全部

[server]
init_connect='SET NAMES utf8'
default-character-set = utf8
不過我剛剛測試了一下, 還是一樣說, 我還缺什麼東西嗎? 還是我加錯地方了?
你原本的 my.ini 長得怎樣啊?丟出來 (但是不要貼在這邊) 給我看看?

http://psobb.myweb.hinet.net/my.ini
我想在問一下, 原本的編碼 latin1_swedish_ci 不是可以使用中文儲存嗎?
怎麼我現在用這版的 latin1_swedish_ci 變的不能存了?
是因為 MySQL 有問題還是這個本來就不能儲存中文?
你說的"原本"是指哪個版本?MySQL 4.1 之前沒有編碼和轉碼的功能,所以這方面的問題比較少 (也不完全是沒有問題)。

4.1 之後因為有這個功能,進去和出來 mysql 資料庫的內容都會有轉碼引擎作轉換,所以沒有告訴資料庫你現在的語系和編碼是什麼會得到有問題的資料。
Apache Web Server Version 2.2.2
PHP Script Language Version 5.1.4
MySQL Database Version 5.0.22
phpMyAdmin Database Manager Version 2.8.2

圖檔
圖檔
圖檔
chiouss
竹貓忠實會員
竹貓忠實會員
文章: 1741
註冊時間: 2002-11-29 18:19

文章 chiouss »

上面寫的 [server] <--- 這個我根本就找不到,
原來是我當初寫的時候打錯了,應該是
在 [mysqld] 的部分加上...
才對 ^^|||
chiouss
竹貓忠實會員
竹貓忠實會員
文章: 1741
註冊時間: 2002-11-29 18:19

文章 chiouss »

我想在問一下, 原本的編碼 latin1_swedish_ci 不是可以使用中文儲存嗎?
怎麼我現在用這版的 latin1_swedish_ci 變的不能存了?
是因為 MySQL 有問題還是這個本來就不能儲存中文?
你丟給我的 my.ini 是你那個"原來"的版本所使用的嗎?那裡面設定是 mysqld 和 mysql command line 都用 latin1 去當 default charset,但是你的圖裡面資料庫和表格都是 utf8,這表示你有自己轉過表格的內容,或是 PHP 裡面在 create table 的時候就有設定 charset (這種情形我到目前都還沒遇過...)。

啊轉碼會為什麼會造成這些問題你還是翻翻站上的文章看看吧!這問題已經被問到快爛掉了,我不想打這麼多次 (讓我偷懶一下吧!) :Q
sdlla
星球公民
星球公民
文章: 39
註冊時間: 2004-12-19 16:26

文章 sdlla »

chiouss 寫:
上面寫的 [server] <--- 這個我根本就找不到,
原來是我當初寫的時候打錯了,應該是
在 [mysqld] 的部分加上...
才對 ^^|||
加了還是一樣說 OTZ 怎麼半 Q"Q

( 整個人 Delay 的很嚴重 :-| )
sdlla
星球公民
星球公民
文章: 39
註冊時間: 2004-12-19 16:26

文章 sdlla »

chiouss 寫:
我想在問一下, 原本的編碼 latin1_swedish_ci 不是可以使用中文儲存嗎?
怎麼我現在用這版的 latin1_swedish_ci 變的不能存了?
是因為 MySQL 有問題還是這個本來就不能儲存中文?
你丟給我的 my.ini 是你那個"原來"的版本所使用的嗎?那裡面設定是 mysqld 和 mysql command line 都用 latin1 去當 default charset,但是你的圖裡面資料庫和表格都是 utf8,這表示你有自己轉過表格的內容,或是 PHP 裡面在 create table 的時候就有設定 charset (這種情形我到目前都還沒遇過...)。

啊轉碼會為什麼會造成這些問題你還是翻翻站上的文章看看吧!這問題已經被問到快爛掉了,我不想打這麼多次 (讓我偷懶一下吧!) :Q
現在這個 my.ini 是現在的, 可是如果我不選 utf8 的話他不讓我存中文字元說,

原本如果不選的話會顯示 latin1 <-- 但是新增中文資料會失敗, 說長度太長還是什的錯誤.
chiouss
竹貓忠實會員
竹貓忠實會員
文章: 1741
註冊時間: 2002-11-29 18:19

文章 chiouss »

sdlla 寫:加了還是一樣說 OTZ 怎麼半 Q"Q
( 整個人 Delay 的很嚴重 :-| )
加了以後 MySQL 有沒有重跑過?

代碼: 選擇全部

net stop mysql
net start mysql
sdlla
星球公民
星球公民
文章: 39
註冊時間: 2004-12-19 16:26

文章 sdlla »

chiouss 寫:
sdlla 寫:加了還是一樣說 OTZ 怎麼半 Q"Q
( 整個人 Delay 的很嚴重 :-| )
加了以後 MySQL 有沒有重跑過?

代碼: 選擇全部

net stop mysql
net start mysql
嗯... 我還重開機過 OTZ

太麻煩妳了... 我照樣做好了,

這只是我個人很在意從 Dreamwaver 顯示出問號而已,

對不起, 再次感謝你的幫助, 真的很謝謝你, 謝謝.
回覆文章

回到「AppServ」