我目前正在使用MySQL数据库,而维护数据库的前一个人已将字符集从ISO-8859-1更改为UTF-8。现在有一个问题,每个ä变成ä。现在我编写了代码来更改整个数据库中的所有记录。但显然有一些词语被正确书写。 因此,例如,你有一个像Pöytäkrono
这样的词和Sisäänkirjautuminen
这样的词。 如果我使用iconv('UTF-8', 'ISO-8859-1', Pöytäkrono)
它会给Pöytäkrono
, ,但是当我使用iconv('UTF-8', 'ISO-8859-1', Sisäänkirjautuminen)
它会给S
。 由于数据库相当大,我想自动完成,但我不希望那些拼写/写入的单词只能更改为错误的单词。如何在不更改正确的情况下使用php更改mysql数据库的字符集?
0
A
回答
0
您可以像更改数据库存储编码一样工作,数据库以UTF-8存储字符串。这本身并不会为你购买任何东西。
不过的事情,也需要改变:
文本编辑编码需要设置为UTF-8。直接在源代码中使用PHP字符串的文本编辑器已经设置了编码。
数据库< - > php 传输编码,它可能不存在于您的代码中,因为它默认为ISO-8859-1。对于UTF-8,您在查询之前需要明确呼叫
mysql_set_charset("utf8")
。- 网站编码声明,默认为ISO-8859-1。您需要明确呼叫
header("Content-Type: text/html; charset=UTF-8")
或配置例如apache自动执行。
+0
但UTF-8存在无法存储或显示ä或ö的问题,我用一个正则表达式解决了这个问题:$ regex =“(([ÄàÄ°-zA-Z0-9] * + \ s *) +)“;这会照顾正确显示的值,但仍然可以更改错误的值。 – user1806834
相关问题
- 1. 在不更改数据库的情况下更改模型?
- 2. 如何在数据库值更改的情况下更新ListView?
- 3. 如何在不更改凭据的情况下更新用户
- 4. 你可以在不更改数据库wordpress的情况下更改域名吗?
- 5. 如何在不更改数据的情况下更改表格编码?
- 6. 如何更改mysql数据库中的字符集
- 7. Mysql更改默认表字符集到数据库字符集
- 8. 如何在不更改当前内容的情况下更改NSTextView的字体?
- 9. 如何在不中断PHP的情况下更改我的DocumentRoot?
- 10. 在不使用数据库的情况下在gridview中进行更改
- 11. 在不修改旧数据的情况下更新数据
- 12. 如何在不使用`Application:didFinishLaunchingWithOptions:`的情况下更改导航栏?
- 13. 如何在不使用DOM的情况下更改Class
- 14. 如何在不使用DrawableGameComponent的情况下更改DrawOrder
- 15. 在不使用PHP的情况下更改MySQL查询的输出结构
- 16. 如何在不更改数据库结构的情况下提高Mysql数据库性能
- 17. 如何在不删除数据库的情况下更改模型?
- 18. 的Rails 3:更改字符集和现有的MySQL数据库
- 19. 如何在不知道的情况下更改对数据库所做更改的TClientDataSet?
- 20. 如何在不更改版本的情况下更新nuget
- 21. 如何在不更改rowversion的情况下更新记录
- 22. KoGrid如何在数据更改的情况下刷新网格
- 23. Prestashop在不更改密码的情况下通过webservice更改雇主数据
- 24. 在不更改资源名称的情况下更改URL
- 25. 在不更改模式的情况下更改班级
- 26. 更改MySQL数据库的字符集来到SELECT问题?
- 27. 更改mysql数据库的字符集和排序规则
- 28. 更改现有MySQL数据库上的字符集
- 29. 如何在不停止程序的情况下更改参数
- 30. 如何在使用hibernate的情况下使用更新,我不确定哪些字段会被更改?
MySQL只是其中一个角色。查看[UTF-8所有方式](http://stackoverflow.com/questions/279170/utf-8-all-the-way-through) –
因此,您的数据库中有一些*数据up编码,你有*一些*数据是正确的?或者[在Web应用程序中处理Unicode Front To Back](http://kunststube.net/frontback/)有帮助吗? – deceze