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) 给了我不正确的时间戳?

PebbleFramework 给了我很多警告和错误

从 PHP 中的 CLDR 获取本地化货币显示名称

使用 bs4 和请求处理后如何正确打印出 unicode 文本? [复制]

Typescript 给了我一个错误:Expected 0 arguments, but got 1