ユーザーからの入力を受け取る 2 つのテキスト ボックスを持つサンプル アプリを開発しています。ユーザーがグジャラート語でデータを入力できるように、ボタンを使用してグジャラート語キーボードを作成しました。ユーザーが [保存] ボタンを押すと、データが MySQL に保存されます。これは私の完全なコードです:
public void saveMy(View v)
{
name=e1.getText().toString();
no=e2.getText().toString();
try {
httpclient = new DefaultHttpClient();
httppost = new HttpPost("http://10.0.2.2/GujaratiApp/myPHP.php");
ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair>();
postParameters.add(new BasicNameValuePair("Name",name));
postParameters.add(new BasicNameValuePair("No",no));
httppost.setEntity(new UrlEncodedFormEntity(postParameters));
HttpResponse response = httpclient.execute(httppost);
Log.i("postData", response.getStatusLine().toString());
}
catch(Exception ex)
{
Log.e("log_tag", "Error: "+ex.toString());
}
}
そして私のPHPファイルは次のとおりです。
<?php
mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("newDB");
$name = $_POST['Name'];
$no = $_POST['No'] ;
print("Name is: ".$name." And No is:".$no);
$query_add="INSERT INTO myData (`name` ,`no` ) VALUES ('$name','$no')";
$query_exec=mysql_query($query_add) or die(mysql_error());
mysql_close();
?>
データベースの作成に使用されるクエリは次のとおりです。
CREATE TABLE myData (name VARCHAR(20) NOT NULL,no VARCHAR(5) NOT NULL) ENGINE=INNODB CHARACTER SET= utf-8;
[保存]ボタンを押すとデータが入力されますが、MySqlでは???が表示されます グジャラート語のテキストの代わりに。
英語のデータを入力すると、正常に動作します..