繁体   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