2016-03-30 14 views
5
<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>Test</title> 
</head> 
<body> 
<form action="" method="post" name="theform"> 
    <table width="693" border="1" style="table-layout:fixed;"> 
    <tr> 
     <td width="683" id="mymessage" contenteditable="true" name="mymessage">Write message here...</td> 
    </tr> 
    </table> 
    <script> 
document.getElementById('mymessage').addEventListener('input', function() { 
    document.getElementById('hiddenInput').value = this.innerHTML; 
    console.log(document.getElementById('hiddenInput').value); 
}); 

document.getElementById("mymessage").addEventListener("click", removePlace);  
function removePlace() 
{ 
    document.getElementById("mymessage").innerHTML=""; 
} 
</script> 
<div id="google_translate_element"><span class="notranslate">Select language to translate your text above:</span></div> 
<script type="text/javascript"> 
function googleTranslateElementInit() 
{ 
    new google.translate.TranslateElement({pageLanguage: 'en', includedLanguages: 'en,fr,it,ja,ko,ms,ru,ta,th,zh-CN', layout: google.translate.TranslateElement.InlineLayout.SIMPLE, multilanguagePage: true}, 'google_translate_element'); 
} 
</script><script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script> 
<input type="hidden" id='hiddenInput' name='hiddenInput'> 
    <span class="notranslate"><input type="submit" id="btnSend" name="btnSend" value="Send"></span> 
</form> 
<?php 
$servername = "localhost"; 
$username = "mytranslateim"; 
$password = "qwerty"; 
$dbname = "test"; 
$dbconnectivity = mysqli_connect($servername, $username, $password, $dbname); 
if (isset($_POST['btnSend'])) 
{ 
    $getmsg = $_POST['hiddenInput']; 
    if($getmsg == "") 
    { 
     echo "nothing"; 
    } 
    else 
    { 
    echo $getmsg; 
    $sql = "INSERT INTO testing(testmsg) VALUES ('$getmsg')";//if i translated a text, for example i translate the word "test" in chinese, it will echo in chinese but will not save in database as chinese 
    $insertit = mysqli_query($dbconnectivity, $sql); 
    } 
} 
?> 
</body> 
</html> 

Tôi muốn lưu văn bản đã dịch trong bảng mysql php. Hiện tại, hệ thống sẽ lặp lại trong văn bản đã dịch nhưng nó sẽ không lưu trong cơ sở dữ liệu dưới dạng văn bản tôi đã nhập. Ví dụ, nếu tôi gõ từ "test" và dịch nó sang tiếng Nhật là "テ ス ト", cơ sở dữ liệu sẽ lưu từ "test" chứ không phải "テ ス ト". làm thế nào tôi có thể làm cho nó lưu các văn bản dịch?Cách chèn văn bản đã dịch vào cơ sở dữ liệu php

+0

collation nào có trường testmsg? – SnakeFoot

+0

bạn có thể phải kiểm tra điều này: https://dev.mysql.com/doc/refman/5.5/en/charset-charsets.html – SnakeFoot

+0

hi, collation liên quan bên trong là utf8_bin – Ivan

Trả lời

0

Bạn có thể sử dụng API dịch của Google để dịch trực tiếp các bài đăng/nhận dữ liệu bằng PHP. Hơn lưu nó vào bất kỳ lưu trữ.

Có một tài liệu tốt ở đây:

Ví dụ (từ các tài liệu):

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>Test</title> 
</head> 
<body> 
<form method="post" accept-charset="utf-8"> 
    <input type="text" name="translate" value="enter your text to translate..." /> 
    <input type="submit" name="submit" value="translate" /> 
</form> 
</body> 
</html> 
<?php 
if (isset($_POST['submit']) { 
# Includes the autoloader for libraries installed with composer 
require __DIR__ . '/vendor/autoload.php'; 

# Imports the Google Cloud client library 
use Google\Cloud\Translate\TranslateClient; 

# Your Google Cloud Platform project ID 
$projectId = 'YOUR_PROJECT_ID'; 

# Instantiates a client 
$translate = new TranslateClient([ 
    'projectId' => $projectId 
]); 

# The text to translate 
$text = $_POST['translate']; 
# The target language 
$target = 'jp'; 

# Translates some text into Russian 
$translation = $translate->translate($text, [ 
    'target' => $target 
]); 

# This is the result. You can save it to any storage. 
echo 'Text: ' . $text . ' 
Translation: ' . $translation['text']; 
} 
?> 

Bạn có thể mở rộng ví dụ với hộp chọn ngôn ngữ.

Các vấn đề liên quan