Non Engli sh Ввод данных из Java веб-приложения в Netbeans 8.0.2 - PullRequest
0 голосов
/ 14 апреля 2020

Моя строка подключения

Class.forName("com.mysql.jdbc.Driver");

conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/exam_system?useSSL=false&useUnicode=true&characterEncoding=utf8","root","Password");

Мой JSP Файл

<%@page import="java.util.ArrayList"%>
<jsp:useBean id="pDAO" class="myPackage.DatabaseClass" scope="page"/>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <link rel="stylesheet" type="text/css" href="style-backend.css">
        <link rel="stylesheet" type="text/css" href="style.css">
        <meta charset="utf-8" >
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

            <label Style="color: black">  ছন্দে</label>
            <input type="hidden" name="pgprt" value="4">
            <select name="coursename" class="text">
        <% 
            ArrayList list1=pDAO.getAllCourses();

            for(int i=0;i<list1.size();i=i+2){
        %>
        <option value="<%=list1.get(i)%>"><%=list1.get(i)%></option>
            <%
            }
            %>
            </select>
            <input type="submit" value="Show" class="form-button">
            </form>
                            </div>

        <div class="panel form-style-6" style="max-width: 420!important;float: right">   
           <form action="controller.jsp" >
               <div class="title">Add New Question</div>
               <table Style="color: black;font-color: black">
                   <tr>
                       <td><label Style="color: black">Course Name</label></td>
                       <td colspan="3"> 
                               <select name="coursename" class="text">
        <% 
            ArrayList list=pDAO.getAllCourses();

            for(int i=0;i<list.size();i=i+2){
        %>
        <option value="<%=list.get(i)%>"><%=list.get(i)%></option>

            <%
            }      request.setCharacterEncoding("UTF-8");      
            %>

            </select>
                       </td>
                   </tr>
                   <tr>
                       <td><label Style="color: black">Your Question:</label></td>
                       <td colspan="4"><input type="text" name="question" class="text" placeholder="Type your question here" style="width: 420px;" ></td><br>
                   </tr>
                   <tr>
                       <td><label Style="color: black">Options</label></td>
                       <td><input type="text" name="opt1" class="text" placeholder="First Option" style="width: 130px;" ></td>
                       <td><input type="text" name="opt2" class="text" placeholder="Second Option" style="width: 130px;" ></td>
                       <td><input type="text" name="opt3" class="text" placeholder="Third Option" style="width: 130px;" ></td>
                       <td><input type="text" name="opt4" class="text" placeholder="Fourth Option" style="width: 130px;" ></td>
                   </tr>
                   <tr>
                       <td><label>Correct Answer</label></td>
                       <td colspan="4"><center><input type="text" name="correct" class="text" placeholder="Correct Answer" style="width: 130px;" ></center></td>
                   <tr>
                       <td colspan="5"><input type="hidden" name="page" value="questions">
                    <input type="hidden" name="operation" value="addnew">
                       <center><input type="submit" class="form-button" value="Add" name="submit"></center></td>

при вводе номера -Engli sh Данные не правильно вставляются в MySQL База данных. Но я изменил шаблон базы данных и тестирование, передав не-Engli sh данные в строку, и он отлично работает.

INSERT INTO `exam_system`.`contact`
(`Name`,
`Email`,
`Message`)
VALUES
('<{Name:fsfsd }>',
'<{Email:sdfsdf }>',
'<{Message: 1. চর্যাপদ কোন ছন্দে লেখা? }');

Перед ответом я попытался

  1. Net Изменение шрифта bean

  2. Пробное изменение данных строки в байты

  3. И остальные

Изменение в коде символа.

1 Ответ

0 голосов
/ 15 апреля 2020

При принятии параметра или пользовательского значения конвертируйте это значение в символ.

String crr=request.getParameter("correct");
byte[] bytesCrr = crr.getBytes(StandardCharsets.ISO_8859_1);
crr = new String(bytesCrr, StandardCharsets.UTF_8);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...