2016-03-30 18 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> 

Voglio salvare un testo tradotto all'interno di una tabella php mysql. Attualmente, il sistema risuonerà nel testo tradotto ma non verrà salvato nel database come testo digitato. Ad esempio, se digito la parola "test" e la traduco in giapponese come "テ ス ト", il database salverà la parola "test" e non "テ ス ト". come posso farlo salvare il testo tradotto?Come inserire testo tradotto nel database php

+0

quale fascicolazione ha il campo testmsg? – SnakeFoot

+0

probabilmente devi verificarlo: https://dev.mysql.com/doc/refman/5.5/en/charset-charsets.html – SnakeFoot

+0

ciao, le regole di confronto coinvolte all'interno sono utf8_bin – Ivan

risposta

0

È possibile utilizzare l'API di traduzione di Google per tradurre direttamente i dati post/get con PHP. Che salvarlo in qualsiasi spazio di archiviazione.

C'è una buona documentazione qui:

Esempio (dalla documentazione):

<!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']; 
} 
?> 

è possibile estendere l'esempio con una casella di selezione della lingua.

Problemi correlati