2012-12-03 89 views
2

我有一個jsp的形式,存在於下一行代碼:我想MySQL表支持兩種語言

<%@page contentType="text/html" pageEncoding="UTF-8"%> 

我的形式的參數發送到一個表在MySQL。

參數可以是英文或希伯來文。

我看着如果MySQL支持希伯來語:

show character set; 

,並得到:

| hebrew | ISO 8859-8 Hebrew   | hebrew_general_ci |  1 | 

,但是,當我插入希伯來語參數,配合在mysql中顯示是這樣的:

╫⌐╫?╫?╫?╫?╫? 

我想也打印我的jsp文件中的參數,並得到奇怪的字母..

如何更新我的代碼以支持英語和希伯來語?

+1

是您的數據庫明確設置爲UTF-8? – Novocaine

+0

我這麼認爲,但我該如何檢查? –

+1

如果您使用phpmyadmin,則可以檢查「操作」選項卡並查找排序下拉列表。你應該想要它是utf8_unicode_ci。 可以在「結構」選項卡中查看相同內容,查看單個字段並檢查這些字段的排序規則。如果字段不顯示爲utf8,那麼我相信他們都需要手動更改。根據我的經驗只更改操作中的表格屬性會將當前字段保留爲原始編碼。 – Novocaine

回答

1

作爲使用utf-8 ecoding創建新表的示例,這應該適用於您;

CREATE TABLE IF NOT EXISTS `test` (
    `id` int(10) NOT NULL, 
    `name` varchar(10) 
    collate utf8_unicode_ci NOT NULL 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; 
1

SET CHARACTER SET 'utf8'; 

你建立連接之後。我用不同的語言完全相同的問題,並修復了這個問題。

+0

我試圖設置: CREATE DATABASE'db'CHARACTER SET'utf8'; and:CREATE TABLE'Table1'([...])DEFAULT CHARSET = utf8 COLLATE = utf8_general_ci; 但它不起作用。你能解釋一下又該做什麼嗎?謝謝! –