Archana Palani Ответов: 1

Как хранить / извлекать китайские иероглифы в базе данных oracle 11G с помощью PHP?


я хочу хранить китайские иероглифы с html-страницы в базе данных oracle с помощью концепции ajax.
Front end : HTML & PHP.
Back end  : Oracle 11G.

Характеристики Oracle:
NLS_LANGUAGE = AMERICAN
NLS_CHARACTERSET = AL32UTF8
NLS_NCHAR_CHARACTERSET = AL16UTF16

Вышеуказанные характеристики не могут быть изменены.

Что я уже пробовал:

когда я пытаюсь сохранить китайский иероглиф с помощью формы submit, он успешно сохраняется, а если я пытаюсь сохранить его через ajax, то получаю странные символы в базе данных.

на странице ajax я добавил эту строку:
header("Content-type: text/html; charset=utf-8");

на html странице добавлена следующая строка:
<meta http-equiv="Content-type" value="text/html; charset=utf-8">

я прошел через множество предложений по переполнению стека, но безуспешно.

пожалуйста, посоветуйте мне, как это решить.

Заранее спасибо.

Код: HTML-код.

<html>
<head>
<meta http-equiv="Content-type" value="text/html; charset=utf-8">
<title>Test</title>
<script src="jquery.min.js"></script>
<script>
function addForm()
{
var english=document.getElementById('txt_english').value;
var id=document.getElementById('txt_id').value;
var chinese=document.getElementById('txt_chinese').value;
$.ajax(
{
    type : "POST",
    async: false,
    url :"ajax/ajax_add_form.php",
    data :
    {
    english:english,
    chinese:chinese,
    id:id
    }
}).done(
function(html)
{
        alert(html);

});
}
</script>
</head>
<body>
<input type='text' name='txt_id' id='txt_id' value='' /><br>
<input type='text' name='txt_english' id='txt_english' value='' />                          
<input type='text' name='txt_chinese' id='txt_chinese' value='' /> 
<button type="button" >Click Me!</button> 
</body>
</html>

PHP-код: ajax/ajax_add_form.php

<?php
header("Content-type: text/html; charset=utf-8");
include("../config.php");
extract($_REQUEST);
$sql=oci_parse($conn,"insert into test(id,english,chinese)values('".$id."','".$english."','".$chinese."')");
oci_execute($sql);
echo "success";
?>

1 Ответов

Рейтинг:
0

Member 12880870

//header ("Content-type: text / html; charset=utf-8");
включить ("../config.php");
extract ($_REQUEST);
$среда SQL=oci_parse($Конн,"вставить в отдел(DEPTID,департамент,DEPTCHN )значения('".$идентификатор".','".$английский язык."','".$китайский."')");
помощью oci_execute($SQL и);
Эхо " успеха";
?>

просто проверьте имя вашего столбца, например>DEPTID INTEGER,
ОТДЕЛ VARCHAR2(40 БАЙТ),
DEPTCHN VARCHAR2(75 БАЙТ)
)
наконец вы можете хранить китайский иероглиф