Google 翻訳から取得したデータを挿入したい。例: http://translate.google.com/translate_a/t?client=t&hl=en&sl=auto&tl=fa&multires=1&prev=btn&ssel=0&tsel=3&uptl=fa&alttl=en&sc=1&text=hello
結果を受け取ったら、それを MySQL テーブルに挿入したいと考えています。そこで、次のコードを書きました。
$link = "http://translate.google.com/translate_a/t?client=t&hl=en&sl=auto&tl=fa&multires=1&prev=btn&ssel=0&tsel=3&uptl=fa&alttl=en&sc=1&text=";
$server = "127.0.0.1";
$username = "AliAhmadi";
$password = "AliAhmadi";
$database = "AliAhmadi";
$conn = mysql_pconnect($server, $username, $password);
if (!$conn)
die("Bye Bye");
mysql_select_db($database, $conn);
mysql_set_charset('utf8',$conn);
$ch = curl_init();
$url = $link."hello";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$WebContent = curl_exec($ch);
$update_query = 'update `en_db` SET `meaning`="'.mysql_real_escape_string($WebContent).'" where `id`=1';
mysql_query($update_query,$conn);
mysql_close($conn);
Google は次のテキスト ファイルを送信しました。
[[["スラーマ", "こんにちは", "", ""]], [["間投詞", ["スラーマ", "ヘー", "アロー"], [["スラーマ", ["こんにちは", "こんにちは"、"アロハ"、"万歳"]]、["ヘロウ"、["ハロー"、"こんにちは"、"ハロー"]]、["アロ"、["こんにちは"]]]]]、 "ja", , [["スラーマ", [5], 0, 0, 1000, 0, 1, 0]], [["こんにちは", 4, , , ""], ["こんにちは", 5, [["スラーマ", 1000, 0, 0], ["スラーマ", 0, 0, 0], ["マインハーン グラマ", 0, 0, 0], ["スラーマ", 0, 0, 0] , ["デストロイ グラブ", 0, 0, 0]], [[0, 5]], "こんにちは"]], , , [["en"]], 74]
しかし、テーブルでは文字列の最初の部分だけが保存されます:
[[["
mysql_set_charset('utf8',$conn);
コメントするとテーブルに何かが保存されるため、問題はユニコードに起因すると思いますが、次のようになります
[[["Èå","to","",""]],[["前置詞",["Èå","ÈÑÇ\u06CC","ÏÑ","ÏÑ ÈÑÇÇÈÑ","\u06CCÔ", "Óæ\u06CC","äÒÏ","ØÑÝ","ÈÓæ\u06CC","ÊÇ äÓÈÊ Èå","ÈÑ ÍÓÈ","ÈØÑÝ","ÑæÈØÑÝ"],[["Èå",["to" ,"into","in","on","at","against"]],["ÈÑÇ\u06CC",["for","to","on","for","に向かって","順番に"]],["ÏÑ",["at","to","about","unto"]],["ÏÑ ÈÑÇÑÑ",["反対","対", "to","for","unto"]],["\u06CCÔ",["before","to","with","unto"]],["Óæ\u06CC",["to","unto"]],["äÒÏ",["to","near","about"]],["ØÑÝ ",["towards","to"]],["ÈÓæ\u06CC",["toward","to","into","off","unto","at"]],["ÊÇ äÓÈÊ Èå",["to","unto"]],["ÈÑ ÍÓÈ",["to","in","at","to"]],["ÈØÑÝ",["toward" ,"at","unto","to","in","into"]],["ÑæÈØÑÝ",["unto","to"]]]],["",["ÚáÇãÊ ãÕÏÑ Çäá \u06CCÓ\u06CC ÇÓÊ"],[["ÚáÇãÊ ãÕÏÑ Çäá\u06CCÓ\u06CC ÇÓÊ",["to"]]]]],"en",,[["Èå",[5],0,0, 1000,0,1,0]],[["to",4,,,""],["to",5,[["Èå",1000,0,0],["ÈÑÇ\u06CC",0,0,0],["ÊÇ", 0,0,0],["ÑÇÈå",0,0,0],["ÈåãäÙæÑ",0,0,0]],[[0,2]],"to"]],,, 、5]
Google翻訳者が返すもののユニコードは何ですか? そして、このコードのどこに問題がありますか? utf8_unicode_ci、utf8_general_ci、utf8_presian_ci の間で Collation を変更しましたが、この問題が再び発生しました。