在我的项目中,我必须将英文数字改为尼泊尔数字,最多为2位。例如,如果我输入1,它应该返回१,如果输入41,它应该返回४१,我必须将४१存储在db中并显示在前端。我该怎么做?我试着在获得尼泊尔数字时使用“字体-家庭: 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"९";
}
}任何帮助/建议事先都是welcome.thanks。
发布于 2014-03-10 08:43:56
/* 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发布于 2014-03-10 07:49:52
试试utf-8编码。
html:<meta charset="utf-8" />
php:header('Content-Type: text/html; charset=utf-8');
https://stackoverflow.com/questions/22294614
复制相似问题