我有一个名为"rep"的文本框,它使用jQuery将阿拉伯语数据发送到PHP文件。问题是数据库编码是latin1_swedish_ci
,而不是UTF8,我不能改变它,因为它会导致查看以前的数据出现问题。
<SCRIPT LANGUAGE="JavaScript">
$(function() {
$("input[name='rep']").each(function(i) {
$(this).change(function($mainElement) {
var rep_name = $(this).val();
var item_id = $(this).attr('id');
var request = $.ajax({
method: "POST",
url: "inc/rep.php",
data: { rep: rep_name, id: item_id }
});
request.done(function( msg ) {
$('#dd').html(msg);
});
});
});
});
</SCRIPT>
这是我的PHP文件:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-15" />
<?php
include "config.php";
if($_POST["rep"]){
$rep = $_POST["rep"];
$id = $_POST["id"];
$mysqltable="items";
$q = mysql_query("UPDATE " . $mysqltable . " SET rep='".$rep."' WHERE id=".$id);
(".$id.",'".$rep."')");
echo ($q)? "done ".$_POST["rep"] : 'failed';
}
我想保存发送的值到数据库,但我发现它保存在奇怪的字母请建议如何使用正确的编码
唯一适合我的方法是将这两行添加到我的php文件中,并将mysql中的表转换为utf8_unicode_ci:
mysqli_set_charset($conn_i, "utf8");
mb_internal_encoding('UTF-8');