如何在php中将英文数字转换为尼泊尔数字

如何在php中将英文数字转换为尼泊尔数字,php,unicode,Php,Unicode,在我的项目中,我必须将英语数字改为尼泊尔数字,最多2位。e、 g.如果我输入1,它将返回१ 如果我输入41,它就会返回४१ 而我必须储存४१ 在db中,并在前端显示它。我该怎么做?我试着用“font family:Preeti;”来表示尼泊尔数字,但它给出了¥而不是१. 同样,当我使用下面的函数时,它给出的是¥ª而不是१. 我该如何解决这个问题 function convertNos($nos){ switch($nos){ case"०":return 0; case"१"

在我的项目中,我必须将英语数字改为尼泊尔数字,最多2位。e、 g.如果我输入1,它将返回१ 如果我输入41,它就会返回४१ 而我必须储存४१ 在db中,并在前端显示它。我该怎么做?我试着用“font family:Preeti;”来表示尼泊尔数字,但它给出了¥而不是१. 同样,当我使用下面的函数时,它给出的是¥ª而不是१. 我该如何解决这个问题

function convertNos($nos){
  switch($nos){
    case"०":return 0;
    case"१":return 1;
    case"२":return 2;
    case"३":return 3;
    case"४":return 4;
    case"५":return 5;
    case"६":return 6;
    case"७":return 7;
    case"८":return 8;
    case"९":return 9;
    case"0":return"०";
    case"1":return"१";
    case"2":return"२";
    case"3":return"३";
    case"4":return"४";
    case"5":return"५";
    case"6":return"६";
    case"7":return"७";
    case"8":return"८";
    case"9":return"९";
   }
}
欢迎提供任何帮助/建议。请提前感谢。

尝试utf-8编码

html:

php:
header('Content-Type:text/html;charset=utf-8')

尝试utf-8编码

html:

php:
header('Content-Type:text/html;charset=utf-8')

尝试utf-8编码

html:

php:
header('Content-Type:text/html;charset=utf-8')

尝试utf-8编码

html:


php:
header('Content-Type:text/html;charset=utf-8')

我的标题已设置为utf-8,但仍然无法获取१.很可能某些内容未设置为utf-8<当使用单字节编码试图理解utf-8时,代码>看起来像通常的乱七八糟的浏览器(和其他程序)显示。我的头已经设置为utf-8,但我仍然没有得到१.很可能某些内容未设置为utf-8<当使用单字节编码试图理解utf-8时,代码>看起来像通常的乱七八糟的浏览器(和其他程序)显示。我的头已经设置为utf-8,但我仍然没有得到१.很可能某些内容未设置为utf-8<当使用单字节编码试图理解utf-8时,代码>看起来像通常的乱七八糟的浏览器(和其他程序)显示。我的头已经设置为utf-8,但我仍然没有得到१.很可能某些内容未设置为utf-8
a¥ª
看起来像是普通的乱码浏览器(和其他程序),在使用单字节编码时试图理解utf-8。将数字以其原始形式存储在数据库中(如41),并在显示之前进行转换。将数字以其原始形式存储在数据库中(如41)并在显示之前进行转换。将数字以其原始形式存储在DB(如41)中,并在显示之前进行转换。将数字以其原始形式存储在DB(如41)中,并在显示之前进行转换。请解释您的代码。我试过了,但是没有用。我使用了错误的函数(
explode
而不是
preg\u replace
)。我已经更正了我的答案。现在可以用了。你能解释一下你的代码吗。我试过了,但是没有用。我使用了错误的函数(
explode
而不是
preg\u replace
)。我已经更正了我的答案。现在可以用了。你能解释一下你的代码吗。我试过了,但是没有用。我使用了错误的函数(
explode
而不是
preg\u replace
)。我已经更正了我的答案。现在可以用了。你能解释一下你的代码吗。我试过了,但是没有用。我使用了错误的函数(
explode
而不是
preg\u replace
)。我已经更正了我的答案。现在可以了。
/* Set internal character encoding to UTF-8 */
   header('Content-Type: text/html; charset=utf-8');
   mb_internal_encoding("UTF-8");

// An array of Nepali number representations
function convertNos($nos){
    $n = '';
  switch($nos){
    case "०": $n = 0; break;
    case "१": $n = 1; break;
    case "२": $n= 2; break;
    case "३": $n = 3; break;
    case "४": $n = 4; break;
    case "५": $n = 5; break;
    case "६": $n = 6; break;
    case "७": $n = 7; break;
    case "८": $n = 8; break;
    case "९": $n = 9; break;
    case "0": $n = "०"; break;
    case "1": $n = "१"; break;
    case "2": $n = "२"; break;
    case "3": $n = "३"; break;
    case "4": $n = "४"; break;
    case "5": $n = "५"; break;
    case "6": $n = "६"; break;
    case "7": $n = "७"; break;
    case "8": $n = "८"; break;
    case "9": $n = "९"; break;
   }
   return $n;
}

$num = 0; // get your number
// replace this with whatever you're using to get your number
if (isset($_GET['number'])) $num = strip_tags($_GET['number']); 
/* Convert your number (could be a string of unicode, 
 * not necessarily a digit) into a string and split it
 * to get an array of characters. 
 */
 $str_num = preg_split('//u', ("". $num), -1); // not explode('', ("". $num))

    // For each item in your exploded string, retrieve the Nepali equivalent or vice versa.
    $out = '';
    $out_arr = array_map('convertNos', $str_num);
    $out = implode('', $out_arr);
    print($out);
    // Also make sure your PHP file is saved as a UTF-8 text file