无法在 mysql 数据库表中显示从 android 应用程序插入的印地语值
Posted
技术标签:
【中文标题】无法在 mysql 数据库表中显示从 android 应用程序插入的印地语值【英文标题】:unable to display inserted Hindi value from android app in mysql database table 【发布时间】:2014-08-15 07:55:07 【问题描述】:我正在使用 php 插入脚本将印地语值插入 mysql 数据库
android插入代码
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("data1","माऊली"));
nameValuePairs.add(new BasicNameValuePair("data2","माऊली"));
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.mydemo.com/insert.php");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
插入.php代码
<?php
$host='100.111.111.11';
$uname='tempdata';
$pwd='tempdata';
$db="tempdata";
$con = mysql_connect($host,$uname,$pwd) or die("connection failed");
mysql_select_db($db,$con) or die("db selection failed");
$data1=$_REQUEST['data1'];
$data2=$_REQUEST['data2'];
$flag['code']=0;
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $con);
if($r=mysql_query("insert into test values('$data1','$data2') ",$con))
$flag['code']=1;
print(json_encode($flag));
mysql_close($con);
?>
插入成功,但mysql数据库表中的值看起来像?????
如果我执行相同的代码,如下所示
'$r=mysql_query("insert into test values('माऊली','माऊली') ",$con)'
它显示正确的单词'माऊली'
有什么需要修改的线索吗?
【问题讨论】:
您的mysql database
中的default charset
是什么?
【参考方案1】:
得到 ans 需要传递额外参数作为发送值,我们需要将其编码为 UTF8
httpPost.setEntity(new StringEntity(body, HTTP.UTF_8));
感谢您的帮助:)
【讨论】:
以上是关于无法在 mysql 数据库表中显示从 android 应用程序插入的印地语值的主要内容,如果未能解决你的问题,请参考以下文章
无法从codeigniter中的mysql表中获取一些特殊字符