【问题标题】:store Hebrew in database with utf- 8 encoding using php and mysql使用 php 和 mysql 以 utf- 8 编码将希伯来语存储在数据库中
【发布时间】:2015-06-02 19:54:50
【问题描述】:

我正在建立一个带有希伯来语数据库的网站(使用 php 和 mysql)。 一般来说,我使用 chrome 来测试我的工作...... 今天我尝试了 explorer :-0 (是的......你一定在想“他为什么要这么做......;))。我发现从 explorer 发送的所有数据都存储在? ??????不能使用。

我在主页上使用<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

header('Content-Type: text/xml charset=utf-8'); 在发送 xml 文件的 php 页面上(在他收到 get 请求后)

在我的 connect.ini.php 中,我包含了以下代码:

mysql_query("SET NAMES 'utf8'",mysql_connect($host, $user, $password));

我的 ajax javascript 是:

if(xmlHttp.readyState==4||xmlHttp.readyState==0){
   gender=document.getElementById("gender").value;                                                                                       
   xmlHttp.open("GET","file.php?gender="+gender , true);                                                                                    
   xmlHttp.send(null);
   }else{
        setTimeout('submit_quick_start_form()',1000);   
   }

正如我之前在 chrome 中所说的,一切都很好......

请大家帮忙...

【问题讨论】:

  • 你能澄清一下吗...所以用户 A 将数据发送到您在 Chrome 中的网络服务器您收到此数据将其保存到 MySQL,用户 B 将数据发送到您在 IE 中的网络服务器您收到此数据保存它到 MySQL,用户 C 在任何浏览器中访问您的站点,您输出用户 A 输入和用户 B 输入,而用户 B 输入是 ?????而不是正确的字符?
  • 是的,只是我不输出它...我查看 php-my-admin 并看到灾难...我想如果我输出它,chrome 不会理解 ????
  • @misha312 看看我发布的链接,它可能有你的解决方案(IE Hack)
  • @misha312 你是如何提交表单数据的?阿贾克斯?还是直接发帖?

标签: html mysql internet-explorer encoding utf-8


【解决方案1】:


(点击查看大图)

在前 3 个 GET 中,按顺序,我发现 Chrome、Firefox 和 IE 都会产生不同的结果。但我想从理论上讲,Firefox 做对了。在任何情况下,如果我们对 input.value 进行编码 URIComponent(),它们都会给出相同的结果(接下来的 3 个 GET 依次)。像这样:

xhr.open('GET', location.href+"?"+encodeURIComponent(test.value), true)
......

【讨论】:

  • 所以让我明白我需要将 encodeuricomponent 插入到我的 javascript 中才能解决这个问题??
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-28
  • 2013-12-17
  • 2015-07-16
  • 2016-08-20
  • 1970-01-01
  • 1970-01-01
  • 2013-05-26
相关资源
最近更新 更多