我有一个名为" 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';
}
我想将发送的值保存到数据库中,但我发现它以奇怪的字母保存 请告知如何使用正确的编码。
答案 0 :(得分:0)
对我有用的唯一方法是将这两行添加到我的php文件中,并将我在mysql中的表转换为utf8_unicode_ci:
def __init__(self, Id):
sec = ("%s/collections/%s.json") % ( link, Id)
self.req = urllib2.urlopen(sec)
self.ID = json.load(self.req)
for i in self.ID:
def i(self):
self.ID[i] = str(self.ID[i])
return self.ID[i]