Re: [系統] MySQL 5.1 / MySQL 3.23 在big5上不相容
※ 引述《pingsky (PP)》之銘言:
: : 你出問題的的byte sequence是fbf3
: : mysql5的big5用的是cp950的表
: : 我在http://unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT
: : 裡面找不到
: : 也就是說他對mysql5來說根本就是illegal sequence
: : 你可以把他取代為A148 (全形問號)
: : 或是成為被迫使用latin1的族群
: : 推 LPH66:和 UAO 的日文問題是同一件事... 12/25 01:18
: : 推 pingsky:LPH66 大, 我是要打 5C 沒錯, 手殘又太快而打錯了.. 12/25 01:19
: 推文要等 200 多秒.. 看板主大大是希望大家拼命灌水了
: 事實上我的問題點 buganini 大終於點出來了:
: 出問題的的byte sequence是fbf3, 他對mysql5來說根本就是illegal sequence
: 可是為什麼會說是 5.1 板的問題呢? 因為它對 3.23 , 4.1.22 來說是 ok 的
: 3.23 , 4.1 的 big5 吃, 然後 5.1 的 big5 不吃, 這不正是它向後相容的 bug ?
: 而為什麼會把 5C 拿出來提呢 ? 正是要表達連被迫改用 latin1 都不可行呀
因為big5 table一團亂http://moztw.org/docs/big5/
台灣人自己都搞不清楚了
而且 重點是有些邪惡的非對稱的table...
能保證安全使用的table就只有cp950而已..
改latin1不會不可行呀 就是加個escape而已
而把字串放進sql要escape是一種常識 (誤) .. 其實也沒誤
除非是有邪惡的別人寫的舊程式..
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.231.23
推
12/25 01:36, , 1F
12/25 01:36, 1F
→
12/25 01:39, , 2F
12/25 01:39, 2F
如果是PHP
那該用的是:
1.適當的set names
2.mysql_real_escape_string or prepare-function
不該用的是
1.magic_quote
2.addslashes
※ 編輯: buganini 來自: 220.135.231.23 (12/25 01:43)
推
12/25 01:53, , 3F
12/25 01:53, 3F
推
12/25 01:56, , 4F
12/25 01:56, 4F
→
12/25 02:00, , 5F
12/25 02:00, 5F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 7 之 8 篇):