如何在具有严格文档类型的 HTML 页面中查看阿拉伯/波斯数字?
我有一个从右到左的 HTML 页面。当我不使用任何文档类型时,我的数字是阿拉伯语/波斯语,但当我使用严格模式时,它们会变成英语。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Final//EN">
添加文档类型之前:
添加
文档类型之后:
后
,我还向我的页面添加了这些元标记:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Language" content="fa" />
那么,如何在具有严格 doctype 的页面中查看阿拉伯数字(在 IE 中,因为 Firefox 无论如何都不显示阿拉伯数字)?
I have an HTML page that is right-to-left. When I don't use any doctype, my numbers are in Arabic/Persian, but when I use strict mode they turn to English.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Final//EN">
Before adding doctype:
After adding doctype:
also I added these meta tags to my page:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Language" content="fa" />
So how can I view Arabic numbers in a page with strict doctype (in IE because Firefox doesn't show Arabic numbers anyway)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(14)
您可以在模板中使用以下 JavaScript 代码将英语数字转换为波斯语数字:
You can convert English digits to Persian digits using this JavaScript code in your template:
这是一段 javascript 代码,可将 1234 字符串转换为 ١٢٣٤ 字符串
here is a little javascript code that converts a 1234 string to ١٢٣٤ string
如果您需要将一些英文替换为阿拉伯数字而不是整个 HTML,请将您需要的数字传递给此函数。
In case you need to replace some English to Arabic numerals and not the whole HTML, pass the number you need to this function.
假设您想要一个 XHTML 1.0 Strict 文档:
这是一个等效的 HTML 4.01 Strict 文档:
这是一个等效的 HTML5 页面,仅供比较之用。
Assuming you want an XHTML 1.0 Strict document:
Here's an equivalent HTML 4.01 Strict document:
Here's an equivalent HTML5 page, just for comparison purposes.
如果您使用“BNazanin”等波斯字体并编写:
http-equiv="Content-Type" content="text/html; charset=UTF-8"
和元标记中的
http-equiv="Content-Language" content="fa"
。然后您可以看到波斯语的数字。
如果您在 html 页面的某些标记中使用
lang='En'
,则该标记中的数字将以英文显示。If you use persian fonts like 'BNazanin' and write :
http-equiv="Content-Type" content="text/html; charset=UTF-8"
and
http-equiv="Content-Language" content="fa"
in meta tags.You can then see the numbers in persian.
and if you use
lang='En'
in some tags in your html page the numbers in that tag will be displayed in english.在 HTML 页面中查看阿拉伯/波斯数字非常简单。
我通过更改字体名称解决了同样的问题,
在我的例子中,我想向所有用户显示相同的字符,
您可以选择包含阿拉伯语-印地语数字的字体并使用 css ( @font-face ) 导入它,然后只需使用它,
这适用于所有主要浏览器(IE .. Firefox .. Chrome)
看看这个结果
这是完整的页面代码:
It is very simple to view Arabic/Persian numbers in a HTML page.
I solved the same problem by changing the font name,
In my case I want to display the same character to all users
you can choose a font that contains Arabic-Hndi digits and import it using the css ( @font-face ) then simply use it,
This works fine for all major browsers (IE .. Firefox .. Chrome)
look at this result
here is the full code of the page:
Firefox 默认渲染编号为拉丁文
要更改此设置,请转到 Firefox 的地址栏并输入 about:config
此页面是firefox的高级设置
找到这一行“bidi.numeral”并双击它
如果将值设置为“1”,则 Firefox 会查看上下文来渲染文本。如果文本是波斯语,则将数字渲染为波斯语。
如果将值设置为“4”,则始终将数字呈现为波斯语
firefox default render number to latin
for change this setting go to addressbar of Firefox and type about:config
this page is advanced setting of firefox
find this line "bidi.numeral" and double click on it
if set value to "1" firefox for render text look at context. if text is persian render number to persian.
if set value to "4" alwase render digit number to persian
试试这个,希望对您有帮助;)
在 body 标记之间
插入以下内容:
try this , hope helps you ;)
between and
then in end of body tag insert this :
无论文本方向如何(在 Chrome、Safari、Firefox 和 Opera 中),这对我都有效:(
省略
content-language
因为这里不需要。)This works for me, regardless of the text direction (in Chrome, Safari, Firefox and Opera):
(Omitted the
content-language
since that isn’t necessary here.)此代码支持一位或多位英文数字,可以转换为阿拉伯数字:
This code supports one or multiple digits of an English number which can be converted to Arabic number:
只需为他们指定一个波斯字体,如“B yekan”即可。
所有的问题都将得到解决。
just specify a persian font like 'B yekan' to them.
all troubleshoots will be solved.
对波斯语字符使用
toLocalString("fa")
。Use
toLocalString("fa")
for Persian characters.