CLDR 正确的 unicode 给了我错误的符号
Posted
技术标签:
【中文标题】CLDR 正确的 unicode 给了我错误的符号【英文标题】:CLDR right unicode is giving me the wrong symbol 【发布时间】:2018-07-20 22:04:34 【问题描述】:我目前正在尝试将我的 prestashop 1.7.3.4 安装中的韩元的货币符号更改为 hangeul 版本,即“韩元”(원)。比₩更常用。 Prestashop 对这些使用 unicode。
中的默认值main--ko-KR-currencies 是:
"KRW":"displayName":"\ub300\ud55c\ubbfc\uad6d \uc6d0","displayName-count-other":"\ub300\ud55c\ubbfc\uad6d \uc6d0","symbol":"\u20a9","symbol-alt-narrow":"\u20a9"
在 main--ko-KR-numbers 中是:
"main":"ko-KR":"identity":"version":"_cldrVersion":"26","_number":"$Revision: 10669 $","generation":"_date":"$Date: 2014-07-23 16:10:33 -0500 (Wed, 23 Jul 2014) $","language":"ko","territory":"KR","numbers":"defaultNumberingSystem":"latn","otherNumberingSystems":"native":"latn","minimumGroupingDigits":"1","symbols-numberSystem-latn":"decimal":".","group":",","list":";","percentSign":"%","plusSign":"+","minusSign":"-","exponential":"E","superscriptingExponent":"\u00d7","perMille":"\u2030","infinity":"\u221e","nan":"NaN","timeSeparator":":","decimalFormats-numberSystem-latn":"standard":"#,##0.###","long":"decimalFormat":"1000-count-other":"0000","10000-count-other":"0\ub9cc","100000-count-other":"00\ub9cc","1000000-count-other":"000\ub9cc","10000000-count-other":"0000\ub9cc","100000000-count-other":"0\uc5b5","1000000000-count-other":"00\uc5b5","10000000000-count-other":"000\uc5b5","100000000000-count-other":"0000\uc5b5","1000000000000-count-other":"0\uc870","10000000000000-count-other":"00\uc870","100000000000000-count-other":"000\uc870","short":"decimalFormat":"1000-count-other":"0000","10000-count-other":"0\ub9cc","100000-count-other":"00\ub9cc","1000000-count-other":"000\ub9cc","10000000-count-other":"0000\ub9cc","100000000-count-other":"0\uc5b5","1000000000-count-other":"00\uc5b5","10000000000-count-other":"000\uc5b5","100000000000-count-other":"0000\uc5b5","1000000000000-count-other":"0\uc870","10000000000000-count-other":"00\uc870","100000000000000-count-other":"000\uc870","scientificFormats-numberSystem-latn":"standard":"#E0","percentFormats-numberSystem-latn":"standard":"#,##0%","currencyFormats-numberSystem-latn":"currencySpacing":"beforeCurrency":"currencyMatch":"[:^S:]","surroundingMatch":"[:digit:]","insertBetween":"\u00a0","afterCurrency":"currencyMatch":"[:^S:]","surroundingMatch":"[:digit:]","insertBetween":"\u00a0","accounting":"\u00a4#,##0.00;(\u00a4#,##0.00)","standard":"#,##0.00\u00a4","unitPattern-count-other":"0 1","miscPatterns-numberSystem-latn":"atLeast":"0+","range":"0-1"
强调:
"percentFormats-numberSystem-latn":"standard":"#,##0%","currencyFormats-numberSystem-latn":"currencySpacing":"beforeCurrency":"currencyMatch":"[:^S:]","surroundingMatch":"[:digit:]","insertBetween":"\u00a0","afterCurrency":"currencyMatch":"[:^S:]","surroundingMatch":"[:digit:]","insertBetween":"\u00a0","accounting":"\u00a4#,##0.00;(\u00a4#,##0.00)","standard":"#,##0.00\u00a4","unitPattern-count-other":"0 1","miscPatterns-numberSystem-latn":"atLeast":"0+","range":"0-1"
根据我的研究:
u20A9 = ₩
uc6d0 = 원
但正如我们所见,main--ko-KR-currencies 文件已经使用 uc6d0 并显示为 ₩。
【问题讨论】:
【参考方案1】:在第一行,尝试改变
"symbol":"\u20a9","symbol-alt-narrow":"\u20a9"
到
"symbol":"\uc6d0","symbol-alt-narrow":"\uc6d0"
【讨论】:
以上是关于CLDR 正确的 unicode 给了我错误的符号的主要内容,如果未能解决你的问题,请参考以下文章
什么是通用语言环境数据存储库(CLDR)-JDK 9 [关闭]
为啥我的 javascript (node.js) 给了我不正确的时间戳?