2

我想插入“ã”、“é”、“ó”、“ç”(德沃夏克国际),就像葡萄牙语-巴西语言中的文本一样。我在数据库中设置的排序规则类型是: utf8_general_ci 但它不起作用。我试图将它粘贴到这里,但这里显示正常。但在数据库中它没有以正确的方式显示。

所以,请告诉我哪种排序规则适合葡萄牙语。

我的 HTML 页面字符编码是:

<meta http-equiv="Content-Type" content="text/html; charset=pt-BR" />
4

3 回答 3

2

UTF-8 应该适用于葡萄牙语。

尝试这个:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

编辑:

然后可能会发生两件事:

  1. 数据库中的编码对于其中的字符串是错误的
  2. 文件编码错误。(以 UTF-8 以外的其他方式编码)。
于 2012-11-05T08:20:23.663 回答
1

作为一名巴西程序员,我曾多次遇到这种情况。问题是,根据我的经验,简单地使用正确的字符集对页面进行编码(如果是 ISO-8859-1 的巴西葡萄牙语),并不能解决问题。

数据库和页面都必须进行相应的编码。据我所知,在问题的 HTML 部分中,元标记应如下所示:

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

注意:正如 Tivie 在另一个答案中指出的那样,仅通过元标记设置字符集是不够的。文件(example.htm)的编码也必须设置为 Ansi 而不是 Unicode 或 UTF-8,否则重音字符(如 á ô í ç)将无法正确显示。

关于数据库,为了正确检索信息和显示,您还必须设置正确的字符集和排序规则,如下所示(对于 MySQL):

字符集:latin1 -- cp1252 西欧

排序规则:latin1_swedish_ci(尽管有“瑞典语”,但它是最适合巴西葡萄牙语的。)

于 2014-01-10T17:18:02.483 回答
0

我敢打赌,您的文件编码与您的元标记不匹配,因为传递无效字符集似乎可以正确显示字符。

例子:

你有一个 index.html

如果你添加<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />index.html,那么文件编码应该是 UTF-8 而不是别的。

您可以在 Windows 上使用 notepad++ 找到文件的编码。如果您使用的是 MAC,您的文件可能以 MacRoman 编码。

检查此链接,它解释了如何使用 Notepad++ 检查文件编码:http ://www.abdullahyahya.com/2011/09/22/find-out-a-files-encoding-on-windows/

于 2012-11-05T09:57:25.083 回答