作者JeffHung (御風只配做笨木頭)
看板Soft_Job
標題Re: [討論] UNIX上的許功蓋問題
時間Fri Sep 26 13:02:11 2008
※ 引述《eviliori (穿著88s的惡魔)》之銘言:
: 小弟在Unix上用c開發系統,資料庫是使用db2
: 最近碰上個棘手的問題,就是頂頂大名的許功蓋問題
: 系統在編譯程式時,遇到這幾個字就編譯不過
: 有試著在字後面加上\,但仍是不一定所有的Unix環境都可以編譯過
: 請問有什麼一勞永逸的解決方式呢?
解法:不要在程式碼裡,放中文。請以 gettext、Windows 的 String
Table 等機制取代。
See:
http://www.jeffhung.net/blog/articles/jeffhung/383/
Standard C++98 2.2.1:
The basic source character set consists of 96 characters: the
space character, the control characters representing horizontal
tab, vertical tab, form feed, and new-line, plus the following
91 graphical characters:
a b c d e f g h i j k l m n o p q r s t u v w x y z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9
_ { } [ ] # ( ) < > % : ; . ? * + - / ^ & | ~ ! = , \ " '
--
我的微笑,堅持要有鼻子。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.250.37.142
推 luciferii:最有可能的是原本 tablename 是中文,但是不能動db 09/26 14:06
推 luciferii:如果是這種情形,最直接的迴避方式就是不直接用tblname 09/26 14:08
→ luciferii:而是每次湊 SQL statement 時,tablename的地放方... 09/26 14:09
→ luciferii:...都去SYSCAT.TABLES裏撈 XD 很蠢可是很直接:P 09/26 14:09