【網路開店購物網站架設】教學 課程 + 技術諮詢 每年超過2000億的『網路購物市場』在網路上等待您去賺! 打造很賺錢的購物網站 →您需要有一套完整的課程與技術顧問諮詢! 史上真正頭一遭 ! 由購物網站架站教學基地【總教頭】所釋出的獨門技術密技 ! 參加了本秘技課程,您無須再自我摸索曠日廢時→快速打通任都二脈 全部課程有售後註冊諮詢及密訓基地,學成後你就是:購物網站的頭家! 你不用每星期跑補習班,趕著時間跟老師上課! 百分之百的上課實際操作錄製的教學影片! 購物網站架站不必再求人! 不必網路搜尋找不到適合的購物網站架站軟體及架站教學! 不論您是學生、電腦使用者、美工、或是一般民眾,不論您是從事那一種行業都適合! 只要您有購物網站架站需求,或是您有心想精修這個領域,您都絕對需要這份函授課程! 購買本課程享有長達一年的技術諮詢與服務!

收不到信的解決方法

/etc/hosts
127.0.0.1 (兩個tab) odysseyweb.idv.tw odyssey localhost.localdomain localhost

一般情況只要做上列修改便能收到mail(Hinet,Yahoo信箱可收到)

若還是不行的話(例:Hotmail收不到)
再參照該篇文章做修改(下面部份)
————————————————————————————

設定 Sendmail 使用 SMTP 認證, 認證過的合法使用者才可寄信

————————————————————————————

原始碼
cp /etc/mail/sendmail.mc /usr/share/sendmail-cf/cf/

原始碼
vi +/TRUST /usr/share/sendmail-cf/cf/sendmail.mc

找到

原始碼
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

改成

原始碼
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

找到

原始碼
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

改成

原始碼
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

找到

原始碼
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

改成

原始碼
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl

————以下是收不到信的修正——————————–
找到

原始碼
dnl MASQUERADE_AS(`mydomain.com')dnl

改成

原始碼
MASQUERADE_AS(`您的網域名稱')dnl

找到

原始碼
dnl FEATURE(masquerade_envelope)dnl

改成

原始碼
FEATURE(masquerade_envelope)dnl

找到

原始碼
dnl FEATURE(masquerade_entire_domain)dnl

改成

原始碼
FEATURE(masquerade_entire_domain)dnl

找到

原始碼
dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl

改成

原始碼
MASQUERADE_DOMAIN(localhost.localdomain)dnl

————以上是收不到信的修正——————————–

原始碼
cd /usr/share/sendmail-cf/cf/

原始碼
./Build sendmail.cf

原始碼
mv /etc/mail/sendmail.cf /etc/mail/sendmail.cf.old

原始碼
cp sendmail.cf /etc/mail/

重新啟動 sendmail 服務

原始碼
/etc/rc.d/init.d/sendmail restart

Mysql 4.1中文亂碼的處理與解決之道

要讓 Mysql 4.1正確顯示中文最簡單的方法就是全程使用 utf8,從網頁到連線到資料庫等,而my.ini的設定如下:

[mysqld]
default-character-set=utf8

#settings for clients (connection, results, clients)
[mysql]
default-character-set=utf8

其中 [mysqld] 是設定 mysql啟動時要採用的語系,而[mysql]則是通知外來的連線client(例如php頁面或 flash 程式)要使用何種語系設定。
這個設定方法對一般的開發工作非常適用,但有個小缺點,就是當使用一些open source php程式時(尤其是英文寫的程式),如果這些程式語法還停留在mysql 4.0時代,那上面的設定就會導致中文顯示變的怪怪的,最明顯的情況就是大部份中文都顯示的出來,但少部份會變成 方塊型+問號 的亂碼,例如「裏」這個字幾乎是穩死。
這種情況在 drupal 與 gregarius(一個php rss reader) 上見過,經過一番debug才發現了上述原因,後來終於找到解決方法。

最簡單的方式就是不要下面這段:

[mysqld]
default-character-set=utf8

拿掉這段後會讓mysql 啟動時停留在預設的latin-1語系,這樣會讓大部份英文程式都很快樂,而要使用utf8中文的人,只要記得建資料庫時將它設成utf8,然後保留 [mysql] 這段設定,讓中文程式正確的使用utf8與它溝通即可。
經過測試:這樣改良後的設定,使用常見的英文php軟體(如wordpress, drupal, OSCommerce, gregarius)都沒問題,而開發要用的 flash – amfphp – php – mysql 黃金組合也同樣ok。

原本用 mysql 4.0 而同時要升級到 mysql 4.1-中文亂碼的解決方法

大部份人升級wordpress 1.5時碰到的問題都是中文亂碼,尤其是如果原本用 mysql 4.0 而同時要升級到 mysql 4.1的話。

主要原因是mysql 4.1在語系方面增加了許多功能,它可以設定語系的層次從最底層的 server, database 到單一 table, column, connection 都可以設定,而除了語系之外,還可以指定搭配不同的 collation,所以組合百百種,只要一個錯了就難逃亂碼的命運。
(而之前用mysql 4.0為何不用設定也不會出問題呢?主要原因是那時預設是 latin-1,正好相容大部份的utf-8字元,所以不常碰到亂碼)

所以如果你的情況跟我一樣,同時要將 wordpress 從 v1.2升級到 v1.5, 然後mysql也要 v4.0 升級到 v4.1 的話,請看下面流程:
A. 先進phpmyadmin找到可輸入 sql query的畫面,然後鍵入:
show variables like 『%character%』;

這句話會顯示目前資料庫使用的語系設定,一般國外的網站或剛裝好的 mysql 4.1預設都是 latin-1。

B. 新增wordpress blog要用的database名稱,例如 myblog.

如果你熟悉 phpmyadmin 的動作,在畫面上就可以選取這個新database 要用的語系,

charset 請選取 UTF-8 Unicode (utf8)
collation 請選取 utf8_general_ci (ci 代表 case insensitve 大小寫沒差)

C.改 database語系,同樣在 phpmyadmin 的query畫面鍵入下面兩行:

如果你在上一步中沒正確選取語系,或是在看到本文前已經先建好database了也沒關係,用下面語法可以改回來

alter database myblog
character set utf8;

D.匯入舊的 sql

到這裏為止mysql裏面已經有一個 utf-8的 database, 可以準備倒資料進去了,把舊版的sql 文字檔直接copy-paste或上傳到 phpmyadmin即可。注意要告訴phpmyadmin這個文字檔是 utf-8 編碼的才能正確匯入。

根據我的經驗,總是會有一兩個小地方出問題,可能要手動修改一下內容,例如將某些中文字先換成英文,等倒進mysql後再進wordpress 改回來。

E.改 wp-db.php 的設定

前面曾經提過,mysql的語系設定是多層次的,前面我們把database與table的語系都設定正確,但程式與mysql連線時的語系則是由 connection 來決定,這部份就要改wordpress的程式碼,在 wp-includeswp-db.php 的第 44行加上:
$this->query(”SET NAMES ‘utf8′”);

這句話會同時設定 client, results, connection三者使用的語系為 utf-8。

*最後檢查是否全部改成 utf-8

show variables like 『%character%』;

此時你應該會看到大部份欄位都是utf-8了,除了 server 這項之外,因為租用的hosting主電腦,所以沒法兒改這部份,但平常做案子時大部份都可以直接控管mysql,此時就可以用 my.ini 設定:

[mysqld]
default-character-set=utf8

告訴mysql server啟動時要用 utf-8即可。

◎.經由這樣調校的 mysql,連線 flash – amfphp – php – mysql 也完全沒問題,可以互傳中文/日文。


OSCommerce -購物網站技術教學-訂單或電子報寄出時郵件產生亂碼之修正:
亂碼是因為:程式沒有修正…..
OSCommerce 2.2MS2-繁體中文 utf8 郵件亂碼-修正版
我放在我的主機—請下載:
****修正了電子郵件亂碼問題****
http://por.tw/Downloads/osc2.2_ms2_utf_8.rar

移除所有語系及貨幣(僅保留台灣,如果要其他語言請自行拷貝進去)
移除所有國別(僅保留台灣,如果要其他語言請自行拷貝進去)
新增UTF-8語系及新台幣
移除所有商品資訊
移除預設客戶
保留基礎應該有的設定值
已修正日期顯示(僅適用Liunx系)…我是用:Liunx主機
修改CSS顯示字型大小(改為12像素)…比較清楚好看喔!
MOD
已整合Admin Access 2.2
http://www.oscommerce.com/community/contributions,1359/
已整合Links Manager 1.10
http://www.oscommerce.com/community/contributions,1256/
已整合Points and Rewards Module v1.6
http://www.oscommerce.com/community/contributions,3220/
已整合Visual Verify Code (VVC) security
http://www.oscommerce.com/community/contributions,1560/
已整合OSC 電子報寄送加強版
http://osc.kmd.com.tw/postt12343.html
以上大部份均完成中文化
紅利積點系統FAQ說明內容則無翻譯
預設帳號: admin@localhost
預設密碼: admin
請注意:非會員.學員下載不提供解壓縮密碼

最新【免費】教學課程通知:

 電子報發送系統PHPLIST 2.11.3 免費錄影教學課程

http://por.tw/video/phplist/index.html

http://cone.tw/video/phplist/index.html

http://visdacom.tw/video/phplist/index.html

畫面若無法展開時,請使用瀏覽器【重新整理】試看看!

PHPLIST 2.11.3 電子報發送系統免費錄影教學課程

PHPList 是一套電子報發送系統,專門處理寄送大量的電子郵件。
不管您要寄出 500 封、1000封、甚至於一萬封信件,完善的分批作業讓您輕鬆的把郵件寄到指定的訂閱者。
更重要的是,PHPList 讓您知道多少封電子報有被訂閱者打開,自動收集及計算點閱率。
如果你需要定期發送電子郵件、或者是需要穩定的工具來寄送大量電子郵件,PHPList 是開放原始碼軟體中最佳的選擇。
電子報發送系統PHPLIST 2.11.3 免費錄影教學課程

電子報發送系統PHPLIST 2.11.3 中文版免費錄影教學

架設Web伺服器-(AppServ)免費錄影教學課程
最新免費課程通知:

架設Web伺服器-(AppServ)免費錄影教學課程

教學連結網址:
http://por.tw/video/AppServ2.4.4a/index.html

本教學要教的是用AppServ來架設一個支援PHP及MySQL的伺服器。

AppServ是整合了Apache/PHP/MySQL,目前的版本有2.4.4a及2.5.4a,各位一定會很好奇為什麼有兩種版號,2.4.xx是比較穩定的版本!

適合所有的人使用,因為此版本將使用PHP4xx做為核心。這也是說符合目前大部份的PHP函式。

如果是要架站是建議使用這版本。2.5xx是使用PHP5x做為核心。

這方便程式開發者使用測試PHP5等新函式,但相信程式設計者了解PHP5目前對舊有的函式支援不多。

所以沒辦法保證能正常使用。

結論是。開發者使用2.5x版本,架站等需要穩定環境等請用2.4x版本。請自己選所需版本。

兩種版本的內容如下:

AppServ2.4.4a版本內容如下

* Apache 1.3.33
* PHP 4.3.10
* MySQL 4.1.8
* MyODBC-3.51.11-2
* phpMyAdmin-2.5.7-pl1

AppServ2.5.4a版本內容如下

* Apache 2.0.54
* PHP 5.0.4
* MySQL 4.1.12a
* MyODBC-3.51.11-2
* phpMyAdmin-2.6.2pl1

官方網站: http://www.appservnetwork.com/

教學連結網址:
http://por.tw/video/AppServ2.4.4a/index.html

現在大家都是用:ADSL寬頻上網
傳輸速度都不慢
例如:中華電訊你只要申請2MB以上就會送一個(撥接式固定IP)
你可以:自己架站、購物網站、討論區、部落格
也可以FTP檔案上傳下載…好處多多
如果你現在就是中華電訊你2MB以上
別放棄了自己的權益!
趕快上網【申請開通撥接式固定IP】
費用都一樣,不會增加任何費用
中華電訊不會主動告訴你這種事啦!
因為他不希望用戶自己架站(租他們的超貴虛擬主機)
或是花錢租他們的:購物網站(每天178元一年要六萬多)
只要你會架站,就可以把網站當成你的【24小時便利商店】啦
或是:【24小時自動賺錢機器】
有興趣的都可以跟我交流!
steven8ster@gmail.com
這不是做廣告喔
網路本來就是:技術交流
有好康要報大家知道!
架站雖然是要一點技術,如果你常玩就會:熟能生巧。

解開:register_globals應該是:ON或是OFF的疑惑

購物網站架設時:Oscommerce 安裝一開始,若是原始碼 register_globals = Off是無法安裝的。

如果你是租用虛擬主機(不能自己修改php.ini時)不妨考慮安裝:Twe-Commercs
因為Twe-Commercs剛好相反!register_globals = Off是可以安裝的!

購物網站架設時:ZenCart 安裝一開始,若是原始碼 register_globals = On 會出現安全問號。

入口內容站架設時:Joomla 安裝一開始,若是原始碼 register_globals = On  是無法安裝的。

那 register_globals 應該是:ON或是OFF才好呢?

用Google搜尋到這篇文章,或許可以解開大家的疑惑。

2006-09-05 PHP多項未指明的漏洞 ( 資料來源:SecurityFocus )
PHP 在zend_hash_del()的功能中發現一個弱點。對於信任使用unset函數的PHP程式,攻擊者可以用暴力法傳遞任意初始化的函數。
這個漏洞對於將參數register_globals預設為「開啟(enable) 」的系統影響特別明顯,在Red Hat Enterprise Linux中register_globals預設成「關閉 (disable)

因此要把register_globals設為On,又能安裝或是使用Oscommerce,可以下載patch檔後覆蓋。

它的 readme 說明檔如下:

引用:
CHANGES TO REMOVE register_globals REQUIREMENT – V 1.5 – Richard Bentley 01/09/2006
———————————————————————————–

Before proceding, read the README file !

In this directory, you will find a set of files that have been pre-patched. The net result
is exactly the same as applying the patch instructions yourself.

There are 13 files in total that have replacements. These are as follows :

Admin…
———
…/admin/products_attributes.php
…/admin/includes/application_top.php
…/admin/includes/functions/general.php
…/admin/includes/functions/sessions.php

On a default installation of OSC, the 'admin' directory is actually contained within the
'catalog' directory (ie …/catalog/admin/), but I have split it out here to make the
division clearer (as an aside, you will find that if you move admin/ out of catalog/,
it makes the admin section somewhat more straightforward to secure, but this is outside
the scope of this patch)

Catalogue…
————
…/catalog/install/includes/application.php

NOTE: If you have already installed OSC (ie – run through the installation procedure),
—- then the above file may not exist (in which case you should not add it back in
with the replacement file); once installation of OSC is complete, you should
delete the whole of the …/catalog/install/ directory – it is not needed after
installation and having it hanging around is a security risk

…/catalog/includes/application_top.php
…/catalog/include/classes/order.php
…/catalog/includes/functions/general.php
…/catalog/includes/functions/gzip_compression.php
…/catalog/includes/functions/sessions.php
…/catalog/includes/languages/english/password_forgotten.php
…/catalog/includes/languages/espanol/password_forgotten.php
…/catalog/includes/languages/german/password_forgotten.php

NOTE: I have NOT included a pre-patched version of the easypopulate file. This is because
—- it will probably be out of date by the time you read this. Instead, if you need to
patch easypopulate (if it STILL needs patching, and by now it really should have been
reworked so that it doesn't need patching) then refer to the manual patching
instructions (the very last entry in the admin_patch text file will tell you what
you need to do – it's very simple… honest)

=======================================================
>>> WARNING <<<

These files are based on the MS 2.2 release, dated 17/09/2006 (ie – the
security/bugfix update #2 to the original MS 2.2). If you are using some other version
of OSC then I strongly suggest you apply this patch manually and NOT use these pre-patched
files. The exception to this is the security/bugfix release 13/11/2005; it is ok
to patch this version directly with these files; see the README file for more details

=======================================================
>>> WARNING <<<

If you have already applied some other changes (contributions/patches) to your OSC code
then make sure you are not blatting over those changes by copying these files over. If in
doubt then I strongly suggest you use the manual instructions in the 'patch_instructions'
directory and apply the patch line by line; despite what many people say, it really
doesn't take very long – it took me about 20 minutes!

=======================================================
INSTALLATION
————

1/ Copy the above files to their appropriate places in your existing OSC code tree

2/ Make sure you set the permissions of the replacement files appropriately for the
environment you are using. If you fancy getting the shit hacked out of you then
feel free to set permissions of '777'. If you fancy something a tad more secure
then I suggest engaging brain and thinking about it 🙂
If you don't KNOW how to set some sensible file pemissions then find yourself
a good text book and learn how to use your computer

3/ It's been mentioned in the README file already, but once you have made this
change, you MUST disable the register_globals option in php.ini

ie, in php.ini :

register_globals = Off

=======================================================

參考下載網頁: http://www.oscommerce.com/community/contributions,2097/category,all/search,register_globals

【文章主題】: 揭開:購物網站【ECShop】的首頁輪播動態圖片廣告的技術秘密
【文章作者】: 購物網站架站.經營教學密訓基地-總教頭
【作者信箱】:
steven8ster@gmail.com
【作者網站】: http://por.tw/sale
【主題分類】: 購物車.購物網站【ECShop】
【第二網站】:
http://visdacom.com/sale
【版權聲明】: 原創於【購物網站架站.經營教學密訓基地】-可轉載!請保持文章完整。刪除部分者依法追究!
——————————————————————————–
【主題內容】
  揭開:購物網站【ECShop】的首頁輪播動態圖片廣告的技術秘密
  最近大加一定發現我的網站首頁增加了:輪播動態圖片廣告的看板
  看來好像跟購物網站【ECShop】的首頁輪播動態圖片廣告很類似
 
請注意:這是我自己的作品(可不是套用購物網站【ECShop】的首頁輪播動態圖片廣告模組喔!)
  請看:我在最難搞的Google的【blogger】部落格(網路賺錢技術觀察站)也掛上這樣的廣告!

  網址是:
http://ebook369.blogspot.com
  

  啊!怎麼弄的?能不能教教大家?這就是台灣人錯愛大陸購物網站【ECShop】的第一步
  因為一般人部會製作Flash動畫!又例如:目前的台灣TWE-commerce 3.0安裝後有Flash官方動畫
 
笨蛋還以為跟購物車.購物網站【ECShop】一樣(可以自己更換廣告圖片及連結點)
  仔細到後台一看(大失所望…沒有!)一般人不知道怎麼加上去
  只好再次冒著版權不明(商業與非商業使用)的苦惱….繼續使用購物車.購物網站【ECShop】
  最近有很多網友寫信給我,說他的購物車.購物網站【ECShop】被駭客入侵
(懷疑八成是:阿陸仔搞的鬼..)
  哈哈!我教學中還有教很多購物車可用(為何獨鐘購物車購物網站【ECShop】呢?難道想投奔中共不成?)
  開玩笑啦!不要講政治!生意人只講:經濟(不講政治!)

 
 
言歸正傳!來分析講解:購物車.購物網站【ECShop】的首頁輪播動態圖片廣告模組的作動方式
  此種:Flash廣告的結構有Flash檔案(副檔名為:SWF)通常作者設計好了以後使用者不用管它
  此Flash廣告圖片SWF檔是呼叫外部圖片(一般的Flash都是包在裡頭,要改就要有原始檔很不實用)
  那圖片大小與連結的廣告網址(連結位址)是使用:XML的檔案(用一般文字輸入即可)
  XML告訴Flash檔案(副檔名為:SWF)圖片的路徑與連結點,這樣幫然方便使用者可以自己更改!
  圖片更換時的轉換畫面Flash檔案(副檔名為:SWF)會自己去執行
 
  最後當然再使用一個頁面HTML(或PHP.ASP)把他呈現出來(夠簡單吧!)
 
那要在部落格顯現來做:部落格行銷呢?那當然是使用HTML或JAVA的語言程式碼把它弄上去!
  所以為何要花錢學技術呢?因為大家都不是:網站程式的本科系畢業或有朋友有此專長
  請一般網站設計公司很貴(自己還是不會)受限於人的生意怎麼做?
  技術就是這樣:會的不難,不會的比登天還難!
邊工作賺錢邊進修技術一舉兩得
  因為網路是目前的主流趨勢,學會本領就不用看人臉色了!
  為了遏止盜版及拷貝歪風!購物網站函授課程的註冊學員有問題(總教頭)提供技術諮詢…….

網頁修改時要注意的UTF-8的BOM問題(安裝某個外掛程式後,點啟動後會出現螢幕是空白的)
網頁修改時要注意例如:安裝某個外掛程式後,點啟動後會出
現螢幕是空白的。
有些人一直沒有搞明白是由於什麼原因,請看我以下的說明:

Unicode規範中有一個BOM的概念。
BOM——Byte Order Mark,就是位元組序標示。
在UCS 編碼中有一個叫做"ZERO WIDTH NO-BREAK SPACE"的字元,它的編碼是FEFF。
而FFFE在UCS中是不存在的字元,所以不應該出現在實際傳輸中。
UCS規範建議我們在傳輸位元組流前,先傳輸字元"ZERO WIDTH NO-BREAK SPACE"。
這樣若果接收者收到FEFF,就表明這個位元組流是Big-Endian的;若果收到FFFE,就表明這個位元組流是Little-Endian的。
因此字元"ZERO WIDTH NO-BREAK SPACE"又被稱作BOM。

UTF-8不需要BOM來表明位元組順序,但可以用BOM來表明編碼模式。
字元"ZERO WIDTH NO-BREAK SPACE"的UTF-8編碼是EF BB BF。
所以若果接收者收到以EF BB BF開頭的位元組流,就知道這是UTF-8編碼了。
Windows就是使用BOM來標示文字檔案的編碼模式的。

UTF-8編碼的檔案中,BOM占三個位元組。
若果用記事本把一個文字檔案另存新檔UTF-8編碼模式的話,用UE開啟這個檔案,切換到十六進位編輯狀態就可以看到開頭的FFFE了。
這是個標識UTF-8編碼檔案的好辦法,軟體通過BOM來識別這個檔案是否是UTF-8編碼,很多軟體還要求讀入的檔案必須帶BOM。
可是,還是有很多軟體不能識別BOM。Firefox早期的版本裡,延伸是不能有BOM的,不過Firefox 1.5以後的版本已經開始支援BOM了。
現在又發現,PHP也不支援BOM。

PHP在設計時就沒有考慮BOM的問題,也就是說他不會忽略UTF-8編碼的檔案開頭BOM的那三個字元。由於必須在<?或是<?php後面的代碼才會作為PHP代碼執行,所以這三個字元將會直接輸出。
若果外掛程式的檔案有這個問題,將會導致在後台頁面裡啟動或是不啟動外掛程式後顯示螢幕是空白的,若果是模版檔案有這個問題,將會導致這三個字元直接輸出,造成頁面上方有一個小空行。
國外的英文外掛程式和模版一般都是用的ASCII碼的編碼模式,不會有BOM,只有國內的外掛程式和模版會由於作者的不知情造成問題。
還有,大家修改模版的時候,由於輸出頁面使用UTF-8編碼,那麼修改模版的時候若果有加入中文字元的話,必須把檔案轉成UTF-8編碼才能標準顯示,這個時候若果所使用的編輯器自動加上了BOM的話,將會造成在頁面上輸出這三個字元,顯示效果就要看瀏覽器了,一般是一個空行或是一個亂碼。

使用PHP的Bo-Blog會受到BOM的困擾。
其中有提到另一個麻煩:「受COOKIE送出機制的限制,在這些檔案開頭已經有BOM的檔案中,COOKIE無法送出(因為在COOKIE送出前PHP已經送出了檔案頭),所以登入和登出功能失效。
一切依賴COOKIE、SESSION實現的功能全部無效。」
這個應該就是Wordpress後台出現空白頁面的原因了,因為任何一個被執行的檔案包括了BOM,這三個字元都將被送出,導致依賴cookies和session的功能失效。

解決的辦法嘛,若果只包括英文字元(或是說ASCII編碼內的字元),就把檔案存成ASCII碼模式吧。
用UE等編輯器的話,點檔案->轉換->UTF-8轉ASCII,或是在另存新檔裡選取ASCII編碼。
若果是DOS格式的行尾符,可以用記事本開啟,點另存新檔,選ASCII編碼。
你也可以用PSPad editor v4.5.4繁體中文語系綠色版的另存新檔功能,在設定中:自動寫入 BOM 於 UTF-8 編碼的檔案中→(此選項不要勾選)即可。請參考下面的圖片:


請注意:這是個大問題!所有要自己寫外掛程式的,編輯別人的外掛程式自己用的,需要修改模版的(這條估計每個人都需要吧),最好瞭解一下上面的知識,免得出現問題時不知所措。

資料庫 mysql 的中文亂碼解決【保証成功】專案

在架站技術中常常有來信詢問各種 mysql 中文相容的問題。

資料庫mysql中文亂碼的原因不外乎下列幾點:

☆‧mysql server本身設定問題,例如還停留在 latin1

☆‧mysql table 的語系設定問題(包括 character 與 collation)

☆‧用戶端程式(例如 php) 的連線語系設定問題

請設定 mysql server/table 的 character/collation:

接下來只需要補充幾點注意事:

◎、mysql中文亂碼必勝解決法:

1、mysql 啟動時會讀取一個預設的 config 檔,一般名稱為 my.ini,而它會到下列兩位置去尋找這個檔案:

C:windowsmy.ini 也就是作業系統的安裝目錄,也有可能是 C:winntmy.ini
C::my.cnf 也就是 C disk 的根目錄

注意不同位置裏的檔案suffix不一樣,這點在之前的文章中沒有特別強調,因此那時我是用更複雜的方法直接重新將mysql 註冊到 service裏面,並在那裏指定 my.ini的位置。

2、my.ini 裏的內容為:

[mysqld]
default-character-set=utf8

[client]
default-character-set=utf8
init_connect='SET NAMES utf8'

其中 mysqld 是指定 server啟動時要用的語系,但如果這裏設定為 utf8可能會讓許多英文軟體不開心,例如 osCommerce/mediaWiki,所以這裏建議設成 latin1。

下面的 client 則是設定當 client 連線時要使用什麼語系,但可惜的是這個設定不是每個client都會鳥它,基本上只有 mysql 自已家的程式,例如 mysql.exe, mysqld.exe, mysqladmin.exe 或是 MySQL Control Center這種程式會去讀取這個設定檔然後改用 utf8 連線。

在此提供第二行指令,比一支支php程式去設定connection setting更快,這樣應該也可以順便解決phpmyadmin無法正確顯示 unicode 中文的問題(不過 amfphp 到是不吃這套,一定要乖乖的自已設定語系才行)

但大部份專案師應該都是自已寫 php/jsp 程式去連線,此時自然不會讀取這個設定而繼續使用預設的語系 – latin1。

這也正是大部分網友陣亡的地方。

可以用一個獨立的檔案來處理 mysql connection的設定,例如:

PLAIN TEXT
PHP:

<?
//database connection details.
$host = "localhost";
$link = mysql_connect($host, "xxx", "xxx");
mysql_query("SET NAMES 'utf8'");
mysql_select_db("your_table_name_here", $link);
?>

請注意在 mysql_connect後第五行的地方有加上一個 "set names 'utf8' "的指令,告訴mysql 這個 connection 之後的連線內容都要使用utf8,經由這樣設定後,通常就可以解決大部份問題。

從這裏也可以推想得知,如果你有用某種custom connection pooling機制,就要記得在每次建立新的connection後立即設定為 utf8。

這組設定經由幾天的反覆測試(使用中文繁、簡、日文、韓文)後已經証實完全不會有亂碼或是某些字變成 "口"。

例子:試者輸入這幾個字「不道可否囉」如果它們能正確進入mysql再被讀出來,那就是中文沒問題了,如果讀出來後變成『口』字那就是革命還未成功同志仍需努力…orz

當然我也順便檢查了 flex2 – amfphp – php – mysql 來回傳resultset 也不再會有中文亂碼問題,可以安心使用囉。

架設網站會出現亂碼的原因(mysql中文亂碼)


【mysql中文亂碼的原因】:
mysql 會出現中文亂碼的原因不外乎下列幾點:

1. mysql server本身設定問題,例如還停留在 latin1
2. mysql table 的語系設定問題(包含 character 與 collation)
3. 客戶端程式(例如 php) 的連線語系設定問題
mysql 4.1 及之後的版本在語系方面增加了許多功能,它可以設定語系的層次從最底層的 server, database 到單一 table, column, connection 都可以設定,而除了語系之外,還可以指定搭配不同的 collation(校對),所以組合百百種,只要一個錯了就難逃亂碼的命運。
進phpmyadmin找到可輸入 sql query的畫面,然後鍵入:
show variables like ‘%character%’;
這句話會顯示目前資料庫使用的語系設定,一般國外的網站或剛裝好的 mysql 4.1預設都是 latin-1。

[新增資料庫]
如果你熟悉 phpmyadmin 的操作,在畫面上就可以選擇建立新 database 要用的語系,
charset 請選擇 UTF-8 Unicode (utf8)
collation 請選擇 utf8_general_ci (ci 代表 case insensitve 大小寫沒差)

[修改資料庫]
改 database語系,同樣在 phpmyadmin 的query畫面鍵入下面兩行:
alter database myblog
character set utf8;

前面曾經提過,mysql的語系設定是多層次的,前面我們把database與table的語系都設定正確,但程式與mysql連線時的語系則是由 connection 來決定,這部份就要使用程式碼
mysql_query(“SET NAMES ‘utf8′”);
這句話會同時設定 client, results, connection三者使用的語系為 utf-8。

最後檢查是否全部改成 utf-8
show variables like ‘%character%’;

此時你應該會看到大部份欄位都是utf-8了,除了 server 這項之外,如果是用別人的 hosting 主機,就沒法兒改這部份,但平常做案子時大部份都可以直接控管mysql,此時就可以用 my.ini 設定:
[mysqld]
default-character-set=utf8
告訴mysql server啟動時要用 utf-8即可。

 
mysql中文亂碼必勝解決法
1、mysql 啟動時會讀取一個預設的 config 檔,一般名稱為 my.ini,而它會到下列兩位置去尋找這個檔案:
C:windowsmy.ini 也就是作業系統的安裝目錄,也有可能是也就是 C disk 的根目錄

2、my.ini 裏的內容為:
[mysqld]
default-character-set=utf8

[client]
default-character-set=utf8
init_c

其中 mysqld 是指定 server 啟動時要用的語系,但如果這裏設定為 utf8 可能會讓許多英文軟體不開心,例如 osCommerce/mediaWiki/wordpress/drupal/gregarius,所以這裏建議設成 latin1。要使用utf8中文的人,只要記得建資料庫時將它設成utf8,讓中文程式正確的使用 utf8 與它溝通即可。
下面的 client 則是設定當 client 連線時要使用什麼語系,但可惜的是這個設定不是每個 client 都會鳥它,基本上只有 mysql 自已家的程式,例如 mysql.exe, mysqld.exe, mysqladmin.exe 或是 MySQL Control Center 這種程式會去讀取這個設定檔然後改用 utf8 連線。
所以通常會用一個獨立的檔案來處理 mysql connection的設定,例如:
PHP:

<?
//database connection details.
$host = "localhost";
$link = mysql_connect($host, "xxx", "xxx");
mysql_query("SET NAMES 'utf8'");
mysql_select_db("your_table_name_here", $link);
?>

請注意在 mysql_connect後第五行的地方有加上一個 “set names ‘utf8’ “的指令,告訴mysql 這個 connection 之後的連線內容都要使用utf8,經過這樣設定後,通常就可以解決大部份問題。
從這裏也可以推想得知,如果你有用某種 custom connection pooling 機制,就要記得在每次建立新的 connection 後立即設定為 utf8。