精华内容
下载资源
问答
  • I inherited a web system that I need to develop further.The system seems to be created by someone who read two chapters of a PHP tutorial and thought he could code...So... the webpage itself is in UTF...

    bd96500e110b49cbb3cd949968f18be7.png

    I inherited a web system that I need to develop further.

    The system seems to be created by someone who read two chapters of a PHP tutorial and thought he could code...

    So... the webpage itself is in UTF8 and displays and inputs everything in it. The database tables have been created with UTF8 character set. But, in the config, there is "SET NAMES LATIN1". In other words, UTF8 encoded strings are populated into the database with forced latin1 coding.

    Is there a way to convert this mess to actually store in utf8 and get rid of latin1?

    I tried this, but since the database table is set to utf8, this does not work. Also tried this one without success.

    I maybe able to do this by reading all tables in PHP with latin1 encoding then write them back to a new database in utf8, but I want to avoid it if possible.

    解决方案

    I managed to solve it by running updates on text fields like this:

    UPDATE table SET title = CONVERT(CONVERT(CONVERT(title USING latin1) USING binary) USING UTF8)

    展开全文
  • My client's web app has large database which millions of ... All table's encoding is latin1.When I fetch some text field which holds huge data and mail that string some strange haracter issue com...

    bd96500e110b49cbb3cd949968f18be7.png

    My client's web app has large database which millions of records. All table's encoding is latin1.

    When I fetch some text field which holds huge data and mail that string some strange haracter issue comes. Such when I recieve email spaces are converted into this character Â.

    It is not premissible to change the DB encoding.

    I tried the following PHP function but no outcome ;(

    $msg = mb_convert_encoding($msg, "UTF-8", "latin1");

    Please help

    解决方案

    I would check for the encoding php thinks it is

    echo mb_detect_encoding($str);

    And then do

    iconv("detectedEncoding", "UTF-8", $str);

    Or if iconv is not installed, check if your encoding was right in your solution. ;)

    展开全文
  • MYSQL数据库由latin1转换为utf8

    千次阅读 2013-03-28 21:24:41
    需要将MySQL数据库由latin1编码转换为utf8编码,网上搜了些方法都不管用。 自己多次摸索找出了一个可行方法: 0.下载工具Navicat for MySQL 1.将数据库的表结构导出 mysqldump -uuser -p -d db > db.sql 2.编辑...

    需要将MySQL数据库由latin1编码转换为utf8编码,网上搜了些方法都不管用。

    自己多次摸索找出了一个可行方法:

    0.下载工具Navicat for MySQL

    1.将数据库的表结构导出 mysqldump -uuser -p -d db > db.sql

    2.编辑db.sql,将latin1替换为utf8

    3.新建一个新的数据库newdb,运行db.sql创建表

    4.用Navicat for MySQL连接数据库,在要导出的数据库表上右键,选择导出向导。

    4.1.选择XML文件(*.xml),下一步;

    4.2.全选所有表,在导出到列中选择每个表导出的路径,点击高级,选择编码为1252 (ANSI - Latin I);

    4.3.一直下一步,直到最后,点击开始。

    5.用UE或NotePad++打开导出的xml文件,转换为UTF-8 无BOM编码格式。

    6.对于每一个表,打开导入向导

    6.1.选择XML文件(*.xml),下一步;

    6.2.选择要导入的xml文件,下一步;

    6.3.选择表示一个表行的标签为RECORD;

    6.4.一直下一步,直到最后,点击开始。

    整个转换过程完成,所以表数据正常转换,包括特殊符号和单引号。

    注意:我有个表的格式为UTF8的,先用UTF8导出(4.2步中默认UTF8),不管怎么转换都是乱码。

    后面才注意到,虽然表编码为UTF8,但是在网页程序中存储数据的时候都是用的默认编码latin1。

    于是把它当做latin1导出,成功转换。


    补注:其实网页代码不能转换,<a></a>会被XML转码。。。

    解决方案:导出为sql文件,然后执行sql文件。

    展开全文
  • <p>I have a MySQL database on a shared hosting server and by default it is set to latin1 encoding, but have string values which have foreign characters. <p>When I query the database in the command ...
  • I bought a <strong>InstaWebsite</strong> that's written in <em>Latin1</em> (England)(this is supposed to be an option in the Character Set of Files list) and need it translated to UTF-8. <p>I try ...
  • <p>The problem is, a lot of the tables/columns (but not all) are in latin1, and we're (obviously) getting issues storing foreign characters. <p>What's the best way for us to convert all the tables/...
  • 我所有的表都是InnoDB,排序规则为“ utf8_unicode_ci”,我所有的... 我的PHP脚本上有Jáuò Iñe,我的所有PHP文件都编码为UTF-8。因此,直到现在,每次我用变音符号“插入”某些东西时,例如:mysql_qu...

    直到今天,我才意识到我的PHP脚本中缺少此功能:

    mysql_set_charset('utf8');

    我所有的表都是InnoDB,排序规则为“ utf8_unicode_ci”,我所有的VARCHAR列也均为“ utf8_unicode_ci”。 我的PHP脚本上有Jáuò Iñe,我的所有PHP文件都编码为UTF-8。

    因此,直到现在,每次我用变音符号“插入”某些东西时,例如:

    mysql_query('INSERT INTO `table` SET `name`="Jáuò Iñe"');

    在这种情况下,“名称”内容为:Jáuò Iñe。

    由于我固定了PHP和MySQL之间的字符集,因此现在可以正确存储新的INSERT。 但是,我想修复目前“已弄乱”的所有较旧的行。 我已经尝试了很多事情,但是它总是会破坏第一个“非法”字符的字符串。 这是我当前的代码:

    $m = mysql_real_escape_string('¿<?php echo "¬\'PHP á (á)ţăriîş "; ?> ă-ţi abcdd;//;ñç´พดแทฝใจคçăâξβψδπλξξςαยนñ ;');

    mysql_set_charset('utf8');

    mysql_query('INSERT INTO `table` SET `name`="'.$m.'"');

    mysql_set_charset('latin1');

    mysql_query('INSERT INTO `table` SET `name`="'.$m.'"');

    mysql_set_charset('utf8');

    $result = mysql_iquery('SELECT * FROM `table`');

    while ($row = mysql_fetch_assoc($result)) {

    $message = $row['name'];

    $message = mb_convert_encoding($message, 'ISO-8859-15', 'UTF-8');

    //$message = iconv("UTF-8", "ISO-8859-1//IGNORE", $message);

    mysql_iquery('UPDATE `table` SET `name`="'.mysql_real_escape_string($message).'" WHERE `a1`="'.$row['a1'].'"');

    }

    它用预期的字符“更新”,除了字符串在字符“ă”之后被截断。 我的意思是,字符串中不包括该字符和以下字符。

    同样,即使使用// IGNORE和// TRANSLIT,使用“ iconv()”(在代码中注释)进行测试也是如此。

    我还测试了ISO-8859-1和ISO-8859-15之间的几个字符集。

    我真的需要这里的帮助! 谢谢。

    展开全文
  • 如果在建立数据库的时候,DEFAULT CHARSET = utf8 那不会出什么问题,但如果设置是 DEFAULT CHARSET = latin1 就会出现一些问题,不巧的是,很多 MySQL 数据库的默认编码设置就是 latin1。 如果数据库的默认
  • 如果在建立数据库的时候,DEFAULT CHARSET = utf8 那不会出什么问题,但如果设置是 DEFAULT CHARSET = latin1 就会出现一些问题,不巧的是,很多 MySQL 数据库的默认编码设置就是 latin1。 如果数据库的默认...
  • 以PHPnow 1.5.6-1为例: 打开 MySQL 的配置文件,位置在 PHPnow/MySQL-5.0.90/my.ini,做以下修改,没有的配置请自己添加,路径请自己修改,需要修改三处就可以。一 [client]#password = your_passwordport = 3306...
  • 我撞到了一堵砖墙,有一个奇怪的问题,我知道会有一个明显的答案,但我看不出是否为了我的生命.这与编码有关.在代码之前,一个简单的描述:我想... XML文件包含一个Latin1字符0xa2(一个字符),这是无效的UTF-8 – 我故意...
  • 关于latin1_swedisch_ci到utf8的转换,有很多主题.但是反过来呢?我已经解决了很长时间了,到目前为止还没有找到解决方案.由于我不知道还有什么正在访问该数据库,所以我不想更改表的字符编码.我在表中有一列以latin1_...
  • <pre><code>General error: 1267 Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' </code></pre> <p>I am wondering how I can convert them to ...
  • 可以采用下面的方法latin1字符集转换为gbk字符集或utf8字符集。具体的转换步骤如下:一、latin1转gbk1、导出数据库mysqldump --default-character-set=latin1 -h 数据库连接ip -u root -P 3306 -p数据库密码 db_name...
  • 可以采用下面的方法latin1字符集转换为gbk字符集或utf8字符集。具体的转换步骤如下:一、latin1转gbk1、导出数据库mysqldump --default-...
  • 背景:某个操作系统的Mysql数据库数据库Databnsednname采用默认的latin1字符集,操作系统升级需求将所有数据转换utf-8各式,目的数据库Databnsenewdbname(建库时应用utf8)方法一:步骤一 命令行执行:Mysql...
  • from:http://hi.baidu.com/wangzengfang/blog/item/c9f97b7b34c6caf00bd18724.html下面的文章可供参考,但我遇到了几百兆的数量库,几次用此方法都失败,原因是编辑器不能支持这么大的文本文件的编辑,另存为UTF8...
  • 数据库是MYSQL5.1的,进了网站的phpmyadmin管理后发现表内中文全部显示乱码,导出后本地导入一样是乱码,无法查看所需要的信息,乱码一般情况不用说都知道多数是编码的问题,查看了下目标库的编码为latin1,估计网站...
  • 本人遇到了字符转换的严重复杂问题 ,经过一个晚上的奋斗终于搞定了 ,都是眼泪啊 ,希望能够帮到各位网友 。 1 导出文件是显示正常的中文 。 2 表的字符集修改gbk 。 alter table tablename...
  • 可以采用下面的方法latin1字符集转换为gbk字符集或utf8字符集。具体的转换步骤如下:一、latin1转gbk1、导出数据库mysqldump --default-character-set=latin1 -h 数据库连接ip -u root -P 3306 -p数据库密码 db_name...
  • 这里有个非常方便的解决办法,可以自动识别编码并转换为UTF-8。具体代码如下:如果数据库是LATIN1编码记得set namse LATIN1 再做转换再SQL查询的时候把字符串改为指定编码 mb_convert_encoding($username ,’CP936′...
  • 默认的字符集为latin1。 2、在数据库中新建表并插入数据,模拟一个已经使用了一段时间的库 mysql> use charset; mysql> create table t1(name varchar(10), age int(2)); mysql> insert into t1 ...
  • 如,全部使用UTF-8或者GBK。     mysql -h 192.168.4.100 -u root -p 连接数据库     但是当涉及到多个项目合并、新手加入等情况时,不可避免出现使用多套编码的情况。所有字符串都是英文的情况还好,...
  • 我之前的数据库编码是默认的LATIN1,但是想转换为UTF8,baidu、google了半天,方法有很多,可是许多方法要么就是特别麻烦,要么就是看不懂。查了半天,也测试了半天,终于搞定了,下面将步骤写一下测试环境:WINDOW ...
  • 可以采用下面的方法latin1字符集转换为gbk字符集或utf8字符集。具体的转换步骤如下:一、latin1转gbk1、导出数据库mysqldump --default-character-set=latin1 -h 数据库连接ip -u root -P 3306 -p数据库密码 db_name...
  • 可以采用下面的方法latin1字符集转换为gbk字符集或utf8字符集。具体的转换步骤如下:一、latin1转gbk1、导出数据库mysqldump --default-character-set=latin1 -h 数据库连接ip -u root -P 3306 -p数据库密码 db_name...
  • latin1java web项目连接数据库为:utf-8中文乱码解决办法:插入时:把插入内容转为unicode,再插入数据库查询时:把latin1查询结果转成unicode,再从unicode转成utf-8/*** latin1字符集转换为UTF-8* @param s* @...
  • 老版网站系统的mysql数据库dnname采用默认的latin1字符集,系统升级需要将所有数据转换utf-8格式,目标数据库newdbname(建库时使用utf8)方法一:步骤一 命令行执行:mysqldump –opt -hlocalhost -uroot -p*** ...
  • 首先,Windows-1252不是UTF-8的子集.你可以说ASCII是UTF-8的一个子集,但这...您尝试将其读作CP1252,并将所有Unicode字符视单个字节,或者将其读作UTF-8并删除任何无效的字节序列(如果CP1252字符与Unicode代码点匹配...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 195
精华内容 78
关键字:

latin1转换为utf