<i id='XzTIO'><tr id='XzTIO'><dt id='XzTIO'><q id='XzTIO'><span id='XzTIO'><b id='XzTIO'><form id='XzTIO'><ins id='XzTIO'></ins><ul id='XzTIO'></ul><sub id='XzTIO'></sub></form><legend id='XzTIO'></legend><bdo id='XzTIO'><pre id='XzTIO'><center id='XzTIO'></center></pre></bdo></b><th id='XzTIO'></th></span></q></dt></tr></i><div id='XzTIO'><tfoot id='XzTIO'></tfoot><dl id='XzTIO'><fieldset id='XzTIO'></fieldset></dl></div>

        <bdo id='XzTIO'></bdo><ul id='XzTIO'></ul>
      <tfoot id='XzTIO'></tfoot>

      1. <legend id='XzTIO'><style id='XzTIO'><dir id='XzTIO'><q id='XzTIO'></q></dir></style></legend>
      2. <small id='XzTIO'></small><noframes id='XzTIO'>

        mySQL 表中的重音字符

        时间:2023-10-03

          <legend id='i04zy'><style id='i04zy'><dir id='i04zy'><q id='i04zy'></q></dir></style></legend>
            <tbody id='i04zy'></tbody>

          • <tfoot id='i04zy'></tfoot>

            <small id='i04zy'></small><noframes id='i04zy'>

              • <bdo id='i04zy'></bdo><ul id='i04zy'></ul>

                1. <i id='i04zy'><tr id='i04zy'><dt id='i04zy'><q id='i04zy'><span id='i04zy'><b id='i04zy'><form id='i04zy'><ins id='i04zy'></ins><ul id='i04zy'></ul><sub id='i04zy'></sub></form><legend id='i04zy'></legend><bdo id='i04zy'><pre id='i04zy'><center id='i04zy'></center></pre></bdo></b><th id='i04zy'></th></span></q></dt></tr></i><div id='i04zy'><tfoot id='i04zy'></tfoot><dl id='i04zy'><fieldset id='i04zy'></fieldset></dl></div>
                  本文介绍了mySQL 表中的重音字符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  我有一些法语文本(包含重音字符,如é"),存储在一个 MySQL 表中,其排序规则为 utf8_unicode_ci(表和列),我想在 HTML5 页面上输出.

                  I have some texts in French (containing accented characters such as "é"), stored in a MySQL table whose collation is utf8_unicode_ci (both the table and the columns), that I want to output on an HTML5 page.

                  HTML 页面字符集是 UTF-8(< meta charset="utf-8"/>),PHP 文件本身被编码为没有 BOM 的 UTF-8"(我在 Windows 上使用 Notepad++).我使用 PHP5 请求数据库并生成 HTML.

                  The HTML page charset is UTF-8 (< meta charset="utf-8" />) and the PHP files themselves are encoded as "UTF-8 without BOM" (I use Notepad++ on Windows). I use PHP5 to request the database and generate the HTML.

                  但是,在输出页面上,特殊字符(如é")出现乱码,被""代替.

                  However, on the output page, the special characters (such as "é") appear garbled and are replaced by "�".

                  当我浏览数据库(通过 phpMyAdmin)时,这些相同的重音字符显示得很好.

                  When I browse the database (via phpMyAdmin) those same accented characters display just fine.

                  我在这里遗漏了什么?

                  (注意:将页面编码(通过 Firefox 的Web 开发人员"菜单)更改为 ISO-8859-1 可以解决问题...除了直接出现在 PHP 文件中的特殊字符现在已损坏.但是无论如何,我宁愿了解为什么它不能作为 UTF-8 工作,也不愿在不了解其工作原理的情况下更改编码.^^;)

                  (Note: changing the page encoding (through Firefox's "web developer" menu) to ISO-8859-1 solves the problem... except for the special characters that appears directly in the PHP files, which become now corrupted. But anyway, I'd rather understand why it doesn't work as UTF-8 than changing the encoding without understanding why it works. ^^;)

                  推荐答案

                  我之前也遇到过同样的问题,我做了以下事情

                  I experienced that same problem before, and what I did are the following

                  1) 使用记事本++(几乎可以适应任何编码)或 eclipse 并确保在没有 BOM 的情况下以 UTF-8 保存或打开它.

                  1) Use notepad++(can almost adapt on any encoding) or eclipse and be sure in to save or open it in UTF-8 without BOM.

                  2) 在 PHP 标头中设置编码,使用 header('Content-type: text/html; charset=UTF-8');

                  2) set the encoding in PHP header, using header('Content-type: text/html; charset=UTF-8');

                  3) 删除 PHP 文件开头和结尾的所有多余空格.

                  3) remove any extra spaces on the start and end of my PHP files.

                  4) 通过 PhpMyAdmin 或您拥有的任何 mySQL 客户端将我所有的表和列编码设置为 utf8mb4_general_ciutf8mb4_unicode_ci.两种编码的比较可在这里

                  4) set all my table and columns encoding to utf8mb4_general_ci or utf8mb4_unicode_ci via PhpMyAdmin or any mySQL client you have. A comparison of the two encodings are available here

                  5) 将 mysql 连接字符集设置为 UTF-8(我使用 PDO 作为我的数据库连接)

                  5) set mysql connection charset to UTF-8 (I use PDO for my database connection )

                    PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
                    PDO::MYSQL_ATTR_INIT_COMMAND => "SET CHARACTER SET utf8"
                  

                  或者在获取任何数据之前执行 SQL 查询

                  or just execute the SQL queries before fetching any data

                  6) 使用元标记 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

                  7) 使用某种语言代码表示法语<meta http-equiv="Content-language" content="fr"/>

                  7) use a certain language code for French <meta http-equiv="Content-language" content="fr" />

                  8) 将 html 元素的 lang 属性更改为所需的语言

                  8) change the html element lang attribute to the desired language

                  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
                  

                  并将对此进行更多更新,因为我之前真的很难解决这个问题,因为我在过去的项目中处理日语字符

                  and will be updating this more because I really had a hard time solving this problem before because I was dealing with Japanese characters in my past projects

                  9) 某些字体在客户端 PC 中不可用,您需要使用 Google 字体 来包含它在你的 CSS 上

                  9) Some fonts are not available in the client PC, you need to use Google fonts to include it on your CSS

                  10) 不要以 ?>

                  注意:

                  但是如果我上面说的一切都不起作用,请尝试根据您真正想要显示的字符集调整您的编码,对我来说,我将所有内容都设置为 SHIFT-JIS 以显示所有我的日语字符,它真的很好用.但是使用 UFT-8 必须是您的优先事项

                  but if everything I said above doesn't work, try to adjust your encoding depending on the character-set you really want to display, for me I set everything to SHIFT-JIS to display all my japanese characters and it really works fine. But using UFT-8 must be your priority

                  这篇关于mySQL 表中的重音字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:使用 fgetcsv 读取 CSV 文件时出现 UTF-8 问题 下一篇:PHP 正则表达式中的 UTF-8

                  相关文章

                  最新文章

                  1. <legend id='vp8oG'><style id='vp8oG'><dir id='vp8oG'><q id='vp8oG'></q></dir></style></legend>
                    <i id='vp8oG'><tr id='vp8oG'><dt id='vp8oG'><q id='vp8oG'><span id='vp8oG'><b id='vp8oG'><form id='vp8oG'><ins id='vp8oG'></ins><ul id='vp8oG'></ul><sub id='vp8oG'></sub></form><legend id='vp8oG'></legend><bdo id='vp8oG'><pre id='vp8oG'><center id='vp8oG'></center></pre></bdo></b><th id='vp8oG'></th></span></q></dt></tr></i><div id='vp8oG'><tfoot id='vp8oG'></tfoot><dl id='vp8oG'><fieldset id='vp8oG'></fieldset></dl></div>

                    <small id='vp8oG'></small><noframes id='vp8oG'>

                    <tfoot id='vp8oG'></tfoot>
                      <bdo id='vp8oG'></bdo><ul id='vp8oG'></ul>