我遇到了SQL数据库与JavaScript结合的问题,这真的很尴尬。
页面上的HTML“configuration.php”
<input id="action_description" type="text"/>
<input id="send" type="button" onClick="addAction()"/>
script.js上的JavaScript
function addAction(){
var action = document.getElementById('action_description').value;
if (action == ""){
window.alert("error");
}
else {
xmlhttp.open("GET","doConfig.php?action=2¶m1="+action,false);
xmlhttp.send();
}
}
我实际上是针对微软或其他公司的xmlhttp,但这对问题不感兴趣。
PHP on doConfig.php
include('db.php');
mysqli_set_charset($link,'utf8');
$action= $_GET['action'];
switch ($action){
case '2':
$text = $_GET['param1'];
$sql = "INSERT into actions (text) VALUES ('$text')";
echo $sql;
mysqli_query($link,$sql);
break;
}
数据库
使用phpMyAdmin在XAMPP中创建数据库。 Charset UTF8_bin。
该列名为“text”,格式为“text(255)”。
问题:
现在的问题是,当我使用来自我国(äüö)的角色时,数据库会混淆那些。例如,字符Ä
显示为A和四分之一符号。
但是,当我将echo $sql
(例如"INSERT into actions (text) VALUES ('ähä?)"
)复制到我的phpMyAdmin控制台进入SQL-Field时,它会完美运行,并且角色会正确显示。
答案 0 :(得分:0)
如果文本在数据库中正确,请使用php的标题功能在页面上显示utf-8字符:
header('Content-Type: text/html; charset=utf-8');