2012-12-03 51 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; 但它不起作用。你能解释一下又该做什么吗?谢谢! –