2

私は国際的な写真のウェブサイトを持っています。オフィスが海外から来た写真をアップロードするとき、キャプションとヘッドラインに次のような外国の文字が含まれることがあります。

1. François Hollande
2. ValŽrie Trierweiler

そして、これらはそのままデータベース(MySQL – latin1_swedish_ci)に保存されます。さて、フランス語の文字なしで、平易な英語でフランソワを検索することになると、それらの特定の写真は表示されません。

現在、これはフランス語の文字だけの問題ではありません。他の国でも同様です。データベースに送信する前に、次のようにこれらの外国文字を通常の文字に変換するにはどうすればよいですか。

  1. フランソワ・オランド
4

3 に答える 3

5

文字セットを使用Adodb.Streamしてそれを行うことができますascii。次に例を示します。

With Server.CreateObject("Adodb.Stream")
    .Charset = "ascii"
    .Open
    .WriteText "François Hollande ValŽrie Trierweiler ÖÇŞİĞÜöçşığü ôûõòùìñ"
    .Position = 0
    Response.Write .ReadText
End With

上記のスクリプトはFrancois Hollande ValZrie Trierweiler OCSIGUocsigu ouoouin正確に印刷する必要があります。

于 2012-09-18T19:03:41.863 に答える
1

そして、このようにそれは関数になることができます

Function unaccent(strg)
    With Server.CreateObject("Adodb.Stream")
    .Charset = "ascii"
    .Open
    .WriteText strg
    .Position = 0
    unaccent = .ReadText
    End With
End Function
于 2014-01-17T16:31:47.860 に答える
0

この答えはおそらくあなたのケースをカバーするでしょう。

外部ライブラリは必要ありません。また、文字列が大きすぎないようにするための個人的な好みである正規表現を使用して、さまざまな方法を使用して適合性を確認できます。

于 2012-09-18T16:17:32.463 に答える