2016-05-19 8 views
0

私はjavaで新しいです。私はそれに精通して簡単なプロジェクトをやろうとしています。mysqlのペルシア語またはアラビア語のアルファベットを入力してください

私はTomcatをサーバとして使用し、MySQLは休止状態のプロバイダを使用する動的Webアプリケーションに取り組んでいます。

テーブルにペルシア語またはアラビア語のアルファベットを書きたいと思っています。残念ながら私はできません。

私は私のデータベーステーブルに対してこのクエリを書かれている:私は、ペルシア文字を挿入しようとしてい

DROP DATABASE IF EXISTS myDb; 
CREATE DATABASE myDb CHARSET = utf8 COLLATE = utf8_general_ci; 
USE myDb; 

drop table if exists user; 
drop table if exists resume; 


create table resume(
    resumeId INTEGER NOT NULL AUTO_INCREMENT, 
    resumeDescription NVARCHAR(255), 
    PRIMARY KEY (resumeId) 
) charset = utf8; 

create table user(
    userId INTEGER NOT NULL AUTO_INCREMENT, 
    username NVARCHAR(40) NOT NULL, 
    password varchar(20) NOT NULL, 
    email varchar(50) NOT NULL, 
    resumeId INTEGER UNIQUE, 
    PRIMARY KEY (userId), 
    FOREIGN KEY (resumeId) REFERENCES resume(resumeId) 
) charset = utf8; 

。私はフォームを作成し、それを処理するためのサーブレットを作成しました。リクエストからパラメータを取得してテストしました。その瞬間、彼らは大丈夫だったし、彼らは正しく見えた。私はデータベースに挿入したとき、私はこれに直面:

(クエスチョンマークがペルシア文字です)

enter image description here

私が何をすべきかを知らないと、問題が何でありますか。 私はこの問題をインターネット上で検索し、さまざまな方法でテストしましたが、いずれも私の場合は機能しませんでした。

誰でもmySQLデータベースにペルシア語のアルファベットを正しく書くことができますか?道による

私の接続URLはこれです:

jdbc:mysql://localhost:3306/myDb?zeroDateTimeBehavior=convertToNull

+0

エラーの原因を確認してください。 「?」データベースに誤って書き込まれたデータを表す可能性があります。または、単に '?'ペルシア語アルファベットには設定されていません。 (私は手動でペルシャ文字をデータベースに挿入し、その表示方法を見てみる) – HeavyE

+0

@HeavyEあなたの答えに感謝します。しかし、私はあなたが意味することを正確に得ることができませんでした。もっと説明できますか? – TTS

+0

質問では、データベースデータの画像に '?'の束を指定しました。データベースを表示するために使用しているツールがペルシア語の文字を処理しない可能性はありますか?私は 'INSERT INTO RESUME(resumeDescription)VALUEs( "جیم");を実行しようとします。データベース上で手動で実行します。あなたはまだ '?'表示されると、データベースを表示するツールが問題になります。しかし、文字が正しく表示されている場合は、問題をHibernateに分離しました。 – HeavyE

答えて

0

次の接続URLを使用してみてください:

jdbc:mysql://localhost:3306/myDb?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=UTF-8 

これは、UTF-8を使用するために、ドライバを強制されます。

+0

これは、プロジェクトをビルドする際にエラーが発生します: 'エンティティ" useUnicode "への参照は、 ';'デリミタ。 – TTS

+0

ところで、私はこのエラーが言った解決策を試みましたが、うまくいきません:( – TTS

+0

あなたはデータベースの変更のためにあなたのクエリを修正してみませんか? 'DROP DATABASE IF EXISTS myDb; CREATE DATABASE myDb CHARACTER SET 'utf8'; ' – reallol

関連する問題