php+;mysql+;html+;javascript=i18n

php+;mysql+;html+;javascript=i18n,php,javascript,mysql,html,internationalization,Php,Javascript,Mysql,Html,Internationalization,这一直是我的问题,性格问题。我总是试图用小补丁来解决我的问题,事实上这并不能解决我的实际问题。所以我正在寻找非常强大的解决方案来解决所有这些问题。我想了解大型应用程序(facebook、google、其他多语言ajax应用程序和API)是如何解决这个问题的。我想要一个解决方案,它将解决我所有的字符编码等问题。我使用php、mysql、html和javascript创建我的应用程序,因此该解决方案应能解决所有问题或所有这些语言。如果您编写完整的配置,这是完美的,但如果有一个很长的文档,我可以阅读它

这一直是我的问题,性格问题。我总是试图用小补丁来解决我的问题,事实上这并不能解决我的实际问题。所以我正在寻找非常强大的解决方案来解决所有这些问题。我想了解大型应用程序(facebook、google、其他多语言ajax应用程序和API)是如何解决这个问题的。我想要一个解决方案,它将解决我所有的字符编码等问题。我使用php、mysql、html和javascript创建我的应用程序,因此该解决方案应能解决所有问题或所有这些语言。如果您编写完整的配置,这是完美的,但如果有一个很长的文档,我可以阅读它。我需要帮助。多谢各位我无法通过所有这些语言正确传输字符串(文本)

  • 我还从外部API中提取数据。我应该如何处理它们

  • 如果你在任何地方都坚持使用Unicode,那就很容易了

    • 将MySQL表编码设置为UTF-8
    • 运行
      设置名称utf8
    • 将所有源代码保存在UTF-8中
    • 在PHP中操作可能包含UTF-8字符的字符串时,请使用
    • 发送HTTP内容类型标头,指示内容在UTF-8中
    • Javascript本质上是UTF-8,因此您不必担心

    问题是不同的技术默认使用不同的字符编码。不幸的是,字符串没有附加隐式编码元数据,它们只是字节序列。除非被告知,否则字符串的接收者只能最好地猜测该序列应该采用什么编码。无论何时连接任何东西的两个部分,都需要确保它们使用相同的编码(或者需要专门从一种编码转换为另一种编码)。始终假设您必须在某个地方定义编码,具体的编码方式取决于技术。

    如果您在任何地方都坚持使用Unicode,这是非常容易的

    • 将MySQL表编码设置为UTF-8
    • 运行
      设置名称utf8
    • 将所有源代码保存在UTF-8中
    • 在PHP中操作可能包含UTF-8字符的字符串时,请使用
    • 发送HTTP内容类型标头,指示内容在UTF-8中
    • Javascript本质上是UTF-8,因此您不必担心

    问题是不同的技术默认使用不同的字符编码。不幸的是,字符串没有附加隐式编码元数据,它们只是字节序列。除非被告知,否则字符串的接收者只能最好地猜测该序列应该采用什么编码。无论何时连接任何东西的两个部分,都需要确保它们使用相同的编码(或者需要专门从一种编码转换为另一种编码)。始终假设您必须在某个地方定义编码,具体的编码方式取决于技术。

    如果您能够描述您所面临的问题,将更有帮助。如果您能够描述您所面临的问题,将更有帮助。+1,尽管我想补充一点,您需要清楚外部API使用的是什么字符集和编码,如果需要,还需要编写编码转换函数(如ISO-8859-1->utf-8)。如今,大多数外部API(“社交”东西,如Flickr和Twitter)都返回utf-8。@chryss没有看到有关于API的追溯性添加。不过,我认为它属于我已经写过的内容。:)嗯,是的,但我是那种“显性比隐性好”的人。无论如何,回答得很好。@chryss当然,这不会伤害你。:)重要提示:如果版本低于5.3,请将MySQL设置为utf8 bin;如果版本高于5.3,请将MySQL设置为utf8-ucs4。这将确保您不会丢失BMP.+1上方的字符,不过我要补充的是,您需要清楚了解外部API使用的字符集和编码以及必要时写入编码转换函数(如ISO-8859-1->utf-8)。如今,大多数外部API(“社交”东西,如Flickr和Twitter)都返回utf-8。@chryss没有看到有关于API的追溯性添加。不过,我认为它属于我已经写过的内容。:)嗯,是的,但我是那种“显性比隐性好”的人。无论如何,回答得很好。@chryss当然,这不会伤害你。:)重要提示:如果版本低于5.3,请将MySQL设置为utf8 bin;如果版本高于5.3,请将MySQL设置为utf8-ucs4。这将确保您不会在BMP上方丢失字符。