JavaScript / PHP页面中的字符显示错误

时间:2014-06-09 19:29:09

标签: javascript php mysql sql phpmyadmin

我遇到了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&param1="+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时,它会完美运行,并且角色会正确显示。

1 个答案:

答案 0 :(得分:0)

如果文本在数据库中正确,请使用php的标题功能在页面上显示utf-8字符:

header('Content-Type: text/html; charset=utf-8');