簡體   English   中英

MySQL - 存儲貨幣符號的最佳方式?

[英]MySQL - Best way to store currency symbols?

只是想知道在MySQL DB中存儲貨幣值和符號的最佳方法是什么? 感謝瀏覽SO ,我將我的金額存儲為十進制(19,2)vaule - 這很好 - 但更關心貨幣符號(例如€,£,$等),因為我想允許最終用戶在設置階段設置自己的貨幣單位。 我還想避免任何關於字符集的不確定性,這些字符集目前設置在utf8(雙方)。

我現在的方法是使用PHP ifelse語句將它們存儲為HTML數字代碼來過濾輸入。 這是最好的方法嗎? 如果不是,那是什么? 有需要嗎? 許多人都提前了!

我會使用character (3)並存儲貨幣代碼( http://en.wikipedia.org/wiki/ISO_4217#Active_codes )。 例如,歐元,美元,英鎊等,並且僅在顯示時顯示相應的符號。

imho,你可以將數據分成兩列

amount      = decimal(19,2) --- question : unsigned for positive value only
currency_id = int(10) unsigned --- which is ID to currency table

currency字段引用另一個表時,
您可以將所有類型的附加信息存儲到該表中(例如匯率)
更好地描述您希望如何呈現符號

您是否考慮過根本不使用符號,而是使用ISO 4217三字母代碼?

如有必要,使用另一個表來處理從那些映射到輸出的更加用戶友好的符號格式。

您是否必須根據用戶選擇的內容轉換貨幣? 如果是,您可以創建一個新表來存儲貨幣符號和匯率。

如果您只想根據用戶的區域設置顯示貨幣,則可能需要嘗試國際化庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM