我遇到土耳其语特殊字符问题我的编码系统在标题和服务器中都是ISO-8859-9字符集。
//Database connections
include_once("ogr_con.php");
require_once("oraunit.php");
function strtoupper_tr($string){
$upper=array("ü" => "Ü", "ö" => "Ö", "ğ" => "Ğ", "ş" => "Ş", "ç" => "Ç", "i" => "İ", "ı" => "I");
return strtoupper(strtr($string,$upper));
}
function strtolower_tr($string){
$low=array("Ü" => "ü", "Ö" => "ö", "Ğ" => "ğ", "Ş" => "ş", "Ç" => "ç", "İ" => "i", "I" => "ı");
return strtolower(strtr($string,$low));
}
$adi= strtolower_tr($_GET["q"]);
$adi[0]=strtoupper($adi[0]);
$soyadi= strtoupper_tr($_GET["q"]);
if (!$adi) return;
$adiquery="SELECT K.ADI||' '||K.SOYADI AS FLNAME
FROM personel.kisi k
WHERE K.ADI LIKE '%".$adi."%' OR K.SOYADI LIKE '%".$soyadi."%')";
$aq=oraArray($con, $adiquery, array());
if(is_array($aq)){
while(list($sno,$u)=each($aq)){
$uadi = $u['FLNAME'];
echo "$uadi\n";
}
}
strtoupper_tr
和strtolower_tr
不适用于特殊字符。 $uadi
- 返回的值未在文本框中正确显示。
<script type="text/javascript">
$(document).ready(function() {
$("#fuadsoyad").autocomplete("get_name.php", {
width: 260,
matchContains: true,
selectFirst: false
});
});
</script>
任何人都可以帮我解决这个问题吗? 你有什么建议我这样做的?
答案 0 :(得分:1)
处理特殊字符时的一般建议:使用UTF-8字符集:它应该支持您的应用程序所需的所有字符,无论您需要何种语言。
使用Ajax时它会很方便,因为Ajax的标准字符集是UTF-8。
答案 1 :(得分:1)
我解决了这个问题。让我解释一下如果将来有人可能面对它。 选择所有需要的数据并将其放在一个变量中,如下所示为$ hocalist
$adiquery="SELECT K.ADI||' '||K.SOYADI AS FLNAME
FROM personel.kisi k
WHERE K.ADI LIKE '%".$adi."%' OR K.SOYADI LIKE '%".$soyadi."%')";
$aq=oraArray($con, $adiquery, array());
$hocalist = "";
foreach($aq as $row) {
$hocalist .= ($hocalist != "" ? "," : "")."{label:'".addslashes($row[FLNAME])."',ID:'$row[KNO]'}";
}
之后将此变量作为数组传递给JS,如下所示。
<script type="text/javascript">
$(document).ready(function() {
var hocalistesi = new Array(<?= $hocalist; ?>);
$("#fuadsoyad").autocomplete(hocalistesi, {
minChars: 0,
max: 50,
width: 460,
autoFill: false,
matchContains: true,
formatItem: function(row, i, max) {
return row.label;
},
formatMatch: function(row, i, max) {
return row.label;
},
formatResult: function (row) {
return row.label;
}
});
});
</script>
当然,如果我们谈论效率,它不是那么有效但是使用不同的字符集可能会被接受为解决方案。 希望会有所帮助
答案 2 :(得分:0)
您需要将.js
文件本身保存为“Unicode”,例如在记事本中:
另存为 - &gt;编码下拉 - &gt; Unicode的
答案 3 :(得分:0)
请参阅以下blog, 它提出了键盘扩展。完整的组合列表是:
答案 4 :(得分:0)
尝试iconv(“windows-1254”,“UTF-8”,$ text);