gpt4 book ai didi

php - Ajax PHP 插入 MySQL utf-8 字符不起作用

转载 作者:行者123 更新时间:2023-11-30 00:38:40 25 4
gpt4 key购买 nike

我有这个 javascript,它收集数据并发送给 php:

$('a#correct').click(function(event){

trid = $(this).closest("tr").attr('id');
word = $('tr#'+trid+' td#word').html();
translation = $('tr#'+trid+' td#translation input').val();

if(translation.length==0)
{
//validation
alert('Can not be empty');
}
else
{
vid = $('tr#'+trid+' td#vid').html();
to_lang = $('#to_lang').val();

$.ajax({
url: "word_actions.php",
type: "POST",
dataType: "JSON",
data: {
'action': 'correct',
'word':word,
'translation':translation,
'to_lang' : to_lang,
'value_id' : vid,
},
success: function(data){
$('tr#'+trid+' td#catalog').html(data['catalog']);
$('tr#'+trid+' td#word').html(data['word']);
$('tr#'+trid+' td#translation input').val(data['translation']);
}
});
}
});

在服务器端我有这个 php 文件:

$word = $_POST['word'];
$translation = $_POST['translation'];
$to_lang = $_POST['to_lang'];
$value_id = $_POST['value_id'];

if(strlen($word)!=0 && strlen($translation)!=0 &&
strlen($to_lang)!=0 && strlen($value_id)!=0)
{
//insert to monitor
$config = new Config();

$mysql = mysqli_connect($config->m_host, $config->m_user,
$config->m_password, $config->m_database);

if(mysqli_connect_errno())
{
echo 'Failed to connect to MySQL: '.mysqli_connect_error();
}

//select from catalogs_values that not checked by given user
$sql = "INSERT INTO monitor(userid, valueid, name, langid, translate)
VALUES('$user_id', '$value_id', '$word', '$to_lang', '$translation')";

$query = mysqli_query($mysql, $sql) or die(mysqli_error($mysql));

//select 10 identical words and insert it to checked add users table
}

问题是,在 MySQL 表中,我得到了错误的编码,例如,对于我收到的非 ASCII 字符:ГÐ⁄ндÑςраÑMySQL的字符集是utf8_general_ci。问题可能出在哪里?

最佳答案

您的 HTML 页面必须以 UTF-8 格式发送(因为这是用户输入数据的地方)。您可以通过设置 header('content-type: text/html; charset:utf-8'); 来完成此操作或者通过在 head 中输出适当的 META 标签标签。那你就得调用mysql_set_charset('utf-8')在 PHP 脚本中指定要插入的数据为 UTF-8。那么它应该可以工作。

关于php - Ajax PHP 插入 MySQL utf-8 字符不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21965548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com