ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

如何使用php检索utf-8数据并在excelsheet数据库转储中显示正确的编码?

2019-06-30 22:13:54  阅读:213  来源: 互联网

标签:php mysql utf-8 character-encoding latin1


嗨,我主要将英文和德文字符保存到mysql数据库中,该数据库目前设置为utf-8字符集.

我假设我应该为这种类型的数据使用latin1字符集,这是正确的吗?

如果是这样,我怎么能改变字符集来纠正现在保存在utf-8中的德语字符?

UPDATE

也许这是一个反击问题…当我通过php从数据库导出数据当然我得到了utf-8,我可以做回溯给我latin1吗?

更新1

好的我正在构建一个网站,html编码是uft-8,db是uft-8,现在我想运行一些导出并提取数据,这些数据应该在excel表中返回,数据是utf-8,但是在这里我需要将字符拉为latin1 …或者从数据库中提取的excel表格的编码需要使得Tást将显示Täst.现在我得到这样的数据 – > Töst

更新2

我使用以下PHP脚本来执行转储:

http://www.fundisom.com/phparadise/php/databases/mySQL_to_excel

在第48行,我已将代码更改为

header("Content-Type: application/$file_type; charset=utf-8");

没有改变行为.

我该如何解决这个问题?

几乎解决方案

<?php
$text = "ö is a valid UTF-8 character";
echo 'Original : ', $text, PHP_EOL;
echo 'TRANSLIT : ', iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text), PHP_EOL;
echo 'IGNORE   : ', iconv("UTF-8", "ISO-8859-1//IGNORE", $text), PHP_EOL;
echo 'Plain    : ', iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL;
?>

这就是我想要的……但我需要在php脚本的上下文中检查它…明天:-)

解决方法:

我同意之前的答案,UTF-8是大多数应用程序的不错选择.

但要注意可能正在等待你的陷阱!您需要注意在整个系统中使用一致的字符编码(输入表单,输出网页,可能访问或更改数据的其他前端).

我花了一些不愉快的时间试图找出为什么在我的网页上出现了一个简单的β或é,只是发现某个地方的某些东西已经编码了.我甚至已经看到了通过多个编码器运行的文本案例 – 一次将单个引号转换为8个字节.

底线,不要假设将进行正确的翻译;在整个项目中明确表示字符编码.

编辑:我在你的更新中看到你已经开始发现这种特别的快乐.

标签:php,mysql,utf-8,character-encoding,latin1
来源: https://codeday.me/bug/20190630/1340764.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有