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

(0)

相关推荐

  • php将mysql数据库整库导出生成sql文件的具体实现

    由网上搜到,有更改. 文件名:db_backup.php 源代码如下: 复制代码 代码如下: <?php ini_set("max_execution_time", "180");//避免数据量过大,导出不全的情况出现. /* 程序功能:mysql数据库备份功能 作者:唐小刚 说明: 本程序主要是从mysqladmin中提取出来,并作出一定的调整,希望对大家在用php编程时备份数据有一定帮助. 如果不要备份结构:请屏掉这句:echo get_table_str

  • 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`

  • 数据库查询排序使用随机排序结果示例(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

  • 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 图一:

  • 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

  • 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    

  • 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

  • 在linux中导入sql文件的方法分享(使用命令行转移mysql数据库)

    因导出sql文件 在你原来的网站服务商处利用phpmyadmin导出数据库为sql文件,这个步骤大家都会,不赘述. 上传sql文件 前面说过了,我们没有在云主机上安装ftp,怎么上传呢? 打开ftp客户端软件,例如filezilla,使用服务器IP和root及密码,连接时一定要使用SFTP方式连接,这样才能连接到linux.注意,这种方法是不安全的,但我们这里没有ftp,如果要上传本地文件到服务器,没有更好更快的方法. 我们把database.sql上传到/tmp目录. 连接到linux,登录m

  • 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="

  • 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

  • c++连接mysql数据库的两种方法(ADO连接和mysql api连接)

    第一种方法可以实现我当前的需求,通过连接不同的字符串来连接不同的数据库.暂时只连接了mysql,sqlserver,oracle,access.对于access,因为它创建表的SQL语句不太兼容标准SQL语句,需要做一些处理,这里暂时不说.第二种方法只能针对于mysql数据库的连接,不过用这种方法不用安装MyODBC服务器程序. 不管用哪种方法,首先需要安装Mysql数据库,安装方法请看"mysql安装及一些注意点".最好安装一个Navicat for mysql,方便操作mysql数

  • mysql数据库备份命令分享(mysql压缩数据库备份)

    备份MySQL数据库的命令 复制代码 代码如下: mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql 备份MySQL数据库为带删除表的格式 备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库. 复制代码 代码如下: mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile

  • C#操作mysql数据库的代码实例

    直接看代码 复制代码 代码如下: using System;using System.Configuration;using MySql.Data.MySqlClient;/// <summary>/// TestDatebase 的摘要说明/// </summary>public class TestDatebase{    public TestDatebase()    {        //        // TODO: 在此处添加构造函数逻辑        //   

  • mysql数据库备份设置延时备份方法(mysql主从配置)

    一 为什么需要延时备份percona-xtrabackup是一个优秀的用于增量备份的工具.今天我们讲到的延时备份也是使用他们的产品.以前在MySQL AB复制一文中提到了AB复制.我们首先回顾下MySQL复制的相关要点.AB复制又称主从复制,实现的是数据同步.经过以下步骤: 1)主服务器把数据更改记录到二进制日志中,这个操作叫做二进制日志事件: 2)从服务器把主服务器的二进制日志事件拷贝到自己的中继日志(relay log)中: 3)从服务器执行中继日志中的事件,把更改应用到自己的数据上. 在生

  • mysql实现本地keyvalue数据库缓存示例

    Key-Value缓存有很多,用的较多的是memcache.redis,他们都是以独立服务的形式运行,在工作中有时需要嵌入一个本地的key-value缓存,当然已经有LevelDb等,但感觉还是太重量级了. 本文实现了一种超级轻量的缓存, 1.实现代码仅仅需要400行: 2.性能高效,value长度在1K时测试速度在每秒200万左右 3.缓存是映射到文件中的,所以没有malloc.free的开销,以及带来的内存泄露.内存碎片等: 4.如果服务挂掉了,重启后缓存内容继续存在: 5.如果把缓存映射到

  • mysql数据库修改数据表引擎的方法

    对于MySQL数据库,如果你要使用事务以及行级锁就必须使用INNODB引擎.如果你要使用全文索引,那必须使用myisam. INNODB的实用性,安全性,稳定性更高但是效率比MYISAM稍差,但是有的功能是MYISAM没有的.修改MySQL的引擎为INNODB,可以使用外键,事务等功能,性能高. 查看数据表的状态 复制代码 代码如下: SHOW TABLE STATUS FROM sites WHERE NAME='site';  SHOW TABLE STATUS FROM db_name W

随机推荐