mysql版本4.1.x,数据库存储数据为utf-8格式,用phpmyadmin将数据导出为utf-8格式的sql文件,再用phpmyadmin import sql file(选择utf-8格式的文件),由于包含中文字符,在insert into语句中会提示语法错误,比如insert into table(`field1`) values('$value'),$value中包含utf-8的中文字,phpmyadmin在import会转码,就可能出现单引号字符,故而报错。怎么解决呀!
解决方案 »
- MySQL用户权限可以在数据库中的表进行限制吗?限制某个用户只读写某个表?
- 请教一个sql
- Mysql有 Disable Trigger 类似的功能吗 ????
- 我想对mysql数据库里的数据表结构和数据复制到另外一个数据库中,有什么软件吗?
- 当我的查询mysql数据库中的海量数据select count(*) 巨慢,有其他的方法得到记录数吗?
- 怎样从mysql数据库中用c语言取得blob字段的值,fetch后,不知道怎样将数值放进文件中?
- 关于mysql的order by的疑问。
- mysql数据库导入
- 问一个数据库分组统计的问题
- 求一个SQL
- 合并两张表???
- Mysql 数据库的表坏了,复修不到,该怎么办?
character_set_connection latin1
character_set_database latin1
character_set_results latin1
character_set_server latin1
character_set_system utf8
character_sets_dir E:\Program Files\EasyPHP1-8\mysql\share\charsets/
错误
您的 SQL 查询可能有错。如果可能的话,以下会列出 MySQL 服务器的错误输出,这可能对您解决问题有一定的帮助作用。ERROR: 引号不配对 @ 18724
STR: "
SQL: --
.......
http://sunsuny.ys168.com/
进入sql目录大大帮忙看看
+--------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | E:\Lamp\MYSQL2\share\charsets\ |
+--------------------------+--------------------------------+
8 rows in set (0.00 sec)
导入你的数据,没有任何错误,只是一堆的WARNINGmysql> source c:\\99savings_Bayarea_DB.sql
.....
Records: 8 Duplicates: 0 Warnings: 0Query OK, 0 rows affected, 1 warning (0.00 sec)Query OK, 0 rows affected, 1 warning (0.06 sec)Query OK, 707 rows affected (0.09 sec)
Records: 707 Duplicates: 0 Warnings: 0Query OK, 0 rows affected, 1 warning (0.00 sec)Query OK, 0 rows affected, 1 warning (0.08 sec)Query OK, 21 rows affected (0.00 sec)
Records: 21 Duplicates: 0 Warnings: 0Query OK, 0 rows affected, 1 warning (0.00 sec)Query OK, 0 rows affected, 1 warning (0.08 sec)Query OK, 4445 rows affected (0.08 sec)
Records: 4445 Duplicates: 0 Warnings: 0Query OK, 0 rows affected, 1 warning (0.00 sec)Query OK, 0 rows affected, 1 warning (0.06 sec)Query OK, 70 rows affected (0.00 sec)
Records: 70 Duplicates: 0 Warnings: 0Query OK, 0 rows affected, 1 warning (0.00 sec)Query OK, 0 rows affected, 1 warning (0.06 sec)Query OK, 38 rows affected (0.00 sec)
Records: 38 Duplicates: 0 Warnings: 0Query OK, 0 rows affected, 1 warning (0.00 sec)Query OK, 0 rows affected, 1 warning (0.06 sec)Query OK, 9 rows affected (0.00 sec)
Records: 9 Duplicates: 0 Warnings: 0Query OK, 0 rows affected, 1 warning (0.00 sec)Query OK, 0 rows affected, 1 warning (0.06 sec)Query OK, 64 rows affected (0.00 sec)
Records: 64 Duplicates: 0 Warnings: 0Query OK, 0 rows affected, 1 warning (0.02 sec)Query OK, 0 rows affected, 1 warning (0.03 sec)Query OK, 9 rows affected (0.00 sec)
Records: 9 Duplicates: 0 Warnings: 0Query OK, 0 rows affected, 1 warning (0.01 sec)Query OK, 0 rows affected, 1 warning (0.05 sec)Query OK, 1 row affected (0.00 sec)Query OK, 0 rows affected, 1 warning (0.00 sec)Query OK, 0 rows affected, 1 warning (0.06 sec)Query OK, 3261 rows affected (0.16 sec)
Records: 3261 Duplicates: 0 Warnings: 0mysql> show warnings;
Empty set (0.00 sec)mysql>
我执行了:
set names 'utf8';
show variables like '%char%'; 显示utf-8,
source c:\\99savings_Bayarea_DB.sql 还是出错重新restart mysql后
show variables like '%char%'; 怎么又变回以前的啦
[mysqld]
default-character-set=utf8启动Mysql后显示
mysql> show variables like '%char%';
+--------------------------+--------------------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_results | latin1 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | E:\PROGRA~1\EASYPH~1\mysql\share\charsets/ |
+--------------------------+--------------------------------------------+
[mysql]
defalt-character-set=utf8
然后再重新启动。
# This file is GENERATED by EasyPHP when needed so edit the
# file E:\PROGRA~1\EASYPH~1\conf_files\my.ini if you want to do
# modifications in this file
#-----------------------------------------------------------
; IMPORTANT
; E:/PROGRA~1/EASYPH~1 is used to specify EasyPHP installation path
[mysql]
default-character-set=utf8[mysqld]
datadir=E:/PROGRA~1/EASYPH~1/mysql/data
basedir=E:/PROGRA~1/EASYPH~1/mysql
bind-address=127.0.0.1
default-character-set=utf8
; Uncomment for use on USB key
; skip-innodb
mysql> show variables like '%char%';
+--------------------------+--------------------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_results | latin1 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | E:\PROGRA~1\EASYPH~1\mysql\share\charsets/ |
+--------------------------+--------------------------------------------+
7 rows in set (0.00 sec)
[mysqld]
datadir=E:/PROGRA~1/EASYPH~1/mysql/data
basedir=E:/PROGRA~1/EASYPH~1/mysql
bind-address=127.0.0.1
default-character-set=utf8
default-collation=utf8_general_ci
; Uncomment for use on USB key
; skip-innodb[client]
default-character-set=utf8
init_connect='SET NAMES utf8'#settings for clients (connection, results, clients)
[mysql]
default-character-set=utf8