2017-04-04 91 views
0

我試圖插入希伯來語內容到表,使用oracle sql開發數據庫。 這是使用MyBatis的我的代碼:Oracle sql開發人員保存希伯來語數據 - 轉換爲亂碼

<insert id="insertTaskTempImage" parameterType="com.ladpc.mobile.entities.TaskTempImage" useGeneratedKeys="false"> 

     INSERT INTO TASKS_TEMP_IMAGES (
     TASK_ID, 
     RASHUT_ID, 
     COMMENTS, 
     CREATION_DATE, 
     IMAGE, 
     FILE_NAME 
     ) 
     VALUES (
     #{taskId,jdbcType=NUMERIC}, 
     #{rashutId,jdbcType=NUMERIC}, 
     #{comments, jdbcType=VARCHAR}, 
     #{creationDate, jdbcType=TIMESTAMP}, 
     #{image,jdbcType=BLOB}, 
     #{fileName,jdbcType=VARCHAR} 


     ) 

    </insert> 

我插入的文件名與希伯來文字符的表 - 之後,我得到的表亂碼內容: enter image description here

,當我加載這個內容和節目它在用戶界面中寫入亂碼。 enter image description here 我需要做些什麼來解決這個問題?

編輯: 我的NLS是希伯來文,但它仍然沒有工作...

enter image description here 謝謝!

回答

0

工具>首選項>代碼編輯器>字體。

將它設置爲像Tahoma一樣友好。

查詢您的數據並保存。

enter image description here

,然後打開所述文件。

enter image description here

的Oracle SQL Developer是一個Java應用程序 - 它有完整的Unicode支持外的開箱。 10次​​中有9次顯示問題是由於字體不兼容造成的。

我不讀希伯來語,我用這個文本的ipsum生成器,所以如果它是無禮的,我的道歉。

+0

抱歉,但它沒有爲我工作我仍然在保存數據後得到亂碼字符,在另一個表中它的工作正常,這個問題只適用於這個特定的表,也許原因是兩種語言混淆(文件名(希伯來語) .jpg(英文))...你有什麼想法嗎? – foo

+1

我認爲問題出在我的java插入代碼中,當我通過sql developer編輯器添加希伯來語字符時,它的工作正常, – foo

+0

您的生成器運行良好,這裏沒有令人討厭的詞:) – foo

1

ALTER SESSION SET NLS_LANGUAGE。你將不得不爲你想要的語言找到正確的價值。

+0

我的nls在希伯來語和另一個桌子我得到了希伯來字。這個問題只發生在這個特定的表上,你有什麼想法嗎? – foo

+0

這可能發生,如果你插入希伯來語字符沒有nls_language希伯來文 – blackwizard

+0

編輯我的問題與nls圖像,它在希伯來文...但沒有 – foo

0

對不起,我發現了... ... 我的客戶端需要以utf-8編碼發送此數據。 問題不在於服務器插入,服務器在gibbresh上獲取此字符串...

坦克的所有答案!