mysql数据库乱码之保存越南文乱码解决方法
我自己测试一下,很多字符变成了 ‘?'。
数据库连接已经是使用了 utf8 字符集:
define("MYSQL_ENCODE", "UTF8");
mysql_query('SET NAMES '.MYSQL_ENCODE,$conn) or die('字符集设置错误'.mysql_error());
搞了大半小时,没有搞定。
insert 的数据都是仍然乱码,突然想,是不是字段不能保存这些越南文。
我看一下数据库字符集,默认都是 gbk,这个对中文是没有问题的,一碰到越南文,就乱码了。
于是,我将可能用到越南文的字段的字符集修改为 utf8,校对修改为:utf8_unicode_ci。(这里一定要具体修改某个字段,修改整个表的字符集,不起作用,字段还是保留着原来的字符集)问题解决。
我的数据库为:php_college_web
表:city_article
用到越南文的字段:title,content
于是执行如下sql:
ALTER TABLE city_article CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci
ALTER TABLE city_article CHANGE content content text CHARACTER SET utf8 COLLATE utf8_unicode_ci
相关推荐
-
mysql数据库重命名语句分享
复制代码 代码如下: CREATE DATABASE `ct` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; RENAME TABLE `51cola`.`commentmeta` TO `ct`.`commentmeta`; RENAME TABLE `51cola`.`comments` TO `ct`.`comments`
-
mysql数据库备份命令分享(mysql压缩数据库备份)
备份MySQL数据库的命令 复制代码 代码如下: mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql 备份MySQL数据库为带删除表的格式 备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库. 复制代码 代码如下: mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile
-
python连接mysql数据库示例(做增删改操作)
一.相关代码数据库配置类 MysqlDBConn.py 复制代码 代码如下: #encoding=utf-8'''Created on 2012-11-12 Mysql Conn连接类''' import MySQLdb class DBConn: conn = None #建立和数据库系统的连接 def connect(self): self.conn = MySQLdb.connect(host="localhost",port=3306,user="
-
c++连接mysql数据库的两种方法(ADO连接和mysql api连接)
第一种方法可以实现我当前的需求,通过连接不同的字符串来连接不同的数据库.暂时只连接了mysql,sqlserver,oracle,access.对于access,因为它创建表的SQL语句不太兼容标准SQL语句,需要做一些处理,这里暂时不说.第二种方法只能针对于mysql数据库的连接,不过用这种方法不用安装MyODBC服务器程序. 不管用哪种方法,首先需要安装Mysql数据库,安装方法请看"mysql安装及一些注意点".最好安装一个Navicat for mysql,方便操作mysql数
-
python使用mysqldb连接数据库操作方法示例详解
复制代码 代码如下: # -*- coding: utf-8 -*- #mysqldb import time, MySQLdb #连接 conn=MySQLdb.connect(host="localhost",user="root",passwd="",db="test",charset="utf8") cursor = conn.cursor() #写入 sql = "i
-
mysql 导入导出数据库、数据表的方法
Linux下均在控制台下操作.导入数据库:前提:数据库和数据表要存在(已经被创建) (1)将数据表 test_user.sql 导入到test 数据库的test_user 表中[root@test ~]# mysql -uroot -p test < /www/web/test/test_user.sql (2) 将数据库 test.sql 导入到 test 数据库test 中[root@test ~]# mysql -uroot -p test < /www/web/test/test.sq
-
MyEclipse连接MySQL数据库报错解决办法
我们现在一般网站都是利用的MySQL数据库搭建网站的,但是在网上看到很多网友吐槽数据库连接不上的问题,现在我就结合相关资料向提出一些我个人的见解,希望对大家解决问题有帮助. 一般MySQL连接不上,可能有两大原因:1.MyEclipse配置错误 2.MySQL配置不当. 一.我们一般的连接步骤如下: 1.在MyEclipse中连接MySQL数据库:依次点击window-->show view-->other-->MyEclipse Database-->DB Browser 图一:
-
C#操作mysql数据库的代码实例
直接看代码 复制代码 代码如下: using System;using System.Configuration;using MySql.Data.MySqlClient;/// <summary>/// TestDatebase 的摘要说明/// </summary>public class TestDatebase{ public TestDatebase() { // // TODO: 在此处添加构造函数逻辑 //
-
在linux中导入sql文件的方法分享(使用命令行转移mysql数据库)
因导出sql文件 在你原来的网站服务商处利用phpmyadmin导出数据库为sql文件,这个步骤大家都会,不赘述. 上传sql文件 前面说过了,我们没有在云主机上安装ftp,怎么上传呢? 打开ftp客户端软件,例如filezilla,使用服务器IP和root及密码,连接时一定要使用SFTP方式连接,这样才能连接到linux.注意,这种方法是不安全的,但我们这里没有ftp,如果要上传本地文件到服务器,没有更好更快的方法. 我们把database.sql上传到/tmp目录. 连接到linux,登录m
-
mysql数据库修改数据表引擎的方法
对于MySQL数据库,如果你要使用事务以及行级锁就必须使用INNODB引擎.如果你要使用全文索引,那必须使用myisam. INNODB的实用性,安全性,稳定性更高但是效率比MYISAM稍差,但是有的功能是MYISAM没有的.修改MySQL的引擎为INNODB,可以使用外键,事务等功能,性能高. 查看数据表的状态 复制代码 代码如下: SHOW TABLE STATUS FROM sites WHERE NAME='site'; SHOW TABLE STATUS FROM db_name W
-
mysql实现本地keyvalue数据库缓存示例
Key-Value缓存有很多,用的较多的是memcache.redis,他们都是以独立服务的形式运行,在工作中有时需要嵌入一个本地的key-value缓存,当然已经有LevelDb等,但感觉还是太重量级了. 本文实现了一种超级轻量的缓存, 1.实现代码仅仅需要400行: 2.性能高效,value长度在1K时测试速度在每秒200万左右 3.缓存是映射到文件中的,所以没有malloc.free的开销,以及带来的内存泄露.内存碎片等: 4.如果服务挂掉了,重启后缓存内容继续存在: 5.如果把缓存映射到
-
php实现mysql数据库操作类分享
复制代码 代码如下: <?php/*数据库操作类*/class Mysql{ private $LocalHost = 'localhost'; private $LoaclUser = 'root'; private $LocalPass = '123456'; private $LocalBase = 'jiangxibaiyi'; private $LocalCode = 'UTF8'; private $PreFix; private $Conn; private $Start
-
数据库查询排序使用随机排序结果示例(Oracle/MySQL/MS SQL Server)
Oracle查询结果集,随机排序 复制代码 代码如下: select * from table1 order by dbms_random.value(); MySQL随机查询出一条记录: 复制代码 代码如下: -- 下面的查询语句效率高,不要使用 SELECT * FROM table1 ORDER BY rand() LIMIT 1 来查询 SELECT * FROM table1 WHERE id=(SELECT id FROM table1 ORDER BY rand() LIMIT 1
-
linux安装mysql和使用c语言操作数据库的方法 c语言连接mysql
1. MySQL的安装与配置: 在Ubuntu下安装MySQL方法很简单,使用如下命令: 复制代码 代码如下: sudo apt-get install mysql-server 安装的过程中系统会提示设置root密码,此过程可以跳过,但是建议在安装时提示设置root密码的时候自行设置,免得后面设置麻烦.安装结束之后,系统会启动mysql服务,可以使用命令去查看来验证mysql服务是否已经安装成功: 复制代码 代码如下: ps -el | grep mysql 如果mysql服务没有正常的运行,
-
php操作mysql数据库的基本类代码
复制代码 代码如下: <?php$dbhost='localhost';$dbuser='root';$dbpass='123456';$dbname='products';$connect=mysql_connect($dbhost,$dbuser,$dbpass);if(!$connect) exit('数据库连接失败!');mysql_select_db($dbname,$connect);mysql_query('set names utf8');//查询$sql="SELECT
-
mysql数据库备份设置延时备份方法(mysql主从配置)
一 为什么需要延时备份percona-xtrabackup是一个优秀的用于增量备份的工具.今天我们讲到的延时备份也是使用他们的产品.以前在MySQL AB复制一文中提到了AB复制.我们首先回顾下MySQL复制的相关要点.AB复制又称主从复制,实现的是数据同步.经过以下步骤: 1)主服务器把数据更改记录到二进制日志中,这个操作叫做二进制日志事件: 2)从服务器把主服务器的二进制日志事件拷贝到自己的中继日志(relay log)中: 3)从服务器执行中继日志中的事件,把更改应用到自己的数据上. 在生
-
mysql数据库添加用户及分配权限具体实现
创建用户并分配权限: 复制代码 代码如下: insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));//创建用户 grant all privileges on dbname.* to 'username'@'%' identified by 'password';//创建用户并分配所有权限 grant select,upd
-
php将mysql数据库整库导出生成sql文件的具体实现
由网上搜到,有更改. 文件名:db_backup.php 源代码如下: 复制代码 代码如下: <?php ini_set("max_execution_time", "180");//避免数据量过大,导出不全的情况出现. /* 程序功能:mysql数据库备份功能 作者:唐小刚 说明: 本程序主要是从mysqladmin中提取出来,并作出一定的调整,希望对大家在用php编程时备份数据有一定帮助. 如果不要备份结构:请屏掉这句:echo get_table_str
随机推荐
- 怎样让别人中木马-木马常用骗术大观
- 自定义PowerShell控制台提示符风格的方法
- AngularJS 使用$sce控制代码安全检查
- 关于你不想知道的所有Python3 unicode特性
- Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
- 基于PHP开发中的安全防范知识详解
- 用Python实现协同过滤的教程
- 用C++实现单向循环链表的解决方法
- Android Service(不和用户交互应用组件)案例分析
- 分享两段简单的JS代码防止SQL注入
- 令人抓狂的100个神经签名推荐看
- 打造个性化的功能强大的Jquery虚拟键盘(VirtualKeyboard)
- 纯CSS实现的漂亮的立体图片边框效果,阴影代码
- Struts2实现文件上传时显示进度条功能
- 利用源码编译Android系统的APK和可执行命令的方法
- 100分钟,我教你配CISCO RIP
- 让Vue也可以使用Redux的方法
- C++实现学校运动会管理系统
- Python常见MongoDB数据库操作实例总结
- 解决Vue-cli npm run build生产环境打包,本地不能打开的问题