Mogelijk Hoofdletter ongevoelig in database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Thijs X

Thijs X

07/10/2005 21:25:00
Quote Anchor link
Is er een mogelijkheid dat ik hoofdletterongevoelig data uit mijn database kan halen?
 
PHP hulp

PHP hulp

15/01/2025 11:14:19
 
Jan Koehoorn

Jan Koehoorn

07/10/2005 21:29:00
Quote Anchor link
Kun je je vraag specifieker stellen?
 
Thijs X

Thijs X

07/10/2005 21:36:00
Quote Anchor link
Eehm nou kijk het gaat om het volgende,
ik zet bijv de tekst: TeSt in als een naam in de database met nog paar waardes,
als ik dan doe:

SELECT * FROM test WHERE naam = 'test'";

dan werkt het niet omdat het op 1 of andere manier hoofdlettergevoelig is :S
 
Klaasjan Boven

Klaasjan Boven

07/10/2005 21:44:00
Quote Anchor link
Ja dat klopt MSQL is hoofdletter gevoelig
 
Willem Jan Z

Willem Jan Z

07/10/2005 21:46:00
Quote Anchor link
Dat feit hadden we al KlaasJan :P
Als je ook een antwoord hebt zou top zijn :D

Ik heb hem niet in ieder geval...

Alleen via een omweg...
Alles uit tabel halen... str_lower() gebruiken en dan zoeken op de tekst die je ook met str_lower klein maakt...
Gewijzigd op 07/10/2005 21:50:00 door Willem Jan Z
 
Klaasjan Boven

Klaasjan Boven

07/10/2005 21:48:00
Quote Anchor link
Ow mischien ook Tut over goed lezen?
Sorry
 
Jan Koehoorn

Jan Koehoorn

07/10/2005 21:51:00
Quote Anchor link
Okee, nu snap ik hem.

Ik denk dat je in zo'n geval beter "like" kunt gebruiken. Ik zal even nazoeken of die hoofdletterongevoelig is
 
Thijs X

Thijs X

07/10/2005 21:52:00
Quote Anchor link
Hmm ik snap wat je bdoelt willem-jan maar dat is niet wat ik wil, want ik wil ook hoofdletters kunnen gebruiken..
Maar ik denk dat ik al een andere oplossing heb
 
Willem Jan Z

Willem Jan Z

07/10/2005 21:57:00
Quote Anchor link
Vertel :D
 
- SanThe -

- SanThe -

07/10/2005 21:57:00
Quote Anchor link
thijs:
Hmm ik snap wat je bdoelt willem-jan maar dat is niet wat ik wil, want ik wil ook hoofdletters kunnen gebruiken..
Maar ik denk dat ik al een andere oplossing heb

Wat Willem-Jan zegt is ook alleen maar voor de test. Je kunt dan in de database gewoon hoofdletters blijven gebruiken.

Mocht je een oplossing vinden, graag ook even hier posten voor anderen (en voor mij).
 
Thijs X

Thijs X

07/10/2005 22:04:00
Quote Anchor link
Nou tis meer een omzeiling dan oplossing :P En voor jullie denk ik niet egt relevant
 
Willem Jan Z

Willem Jan Z

07/10/2005 22:06:00
Quote Anchor link
Post toch ongeveer de denk/script wijze
 
Thijs X

Thijs X

07/10/2005 22:11:00
Quote Anchor link
Nou kheb die waarde gewoon een id meegegeven en ipv op die naam te zoeken zoek ik op die id
 
Willem Jan Z

Willem Jan Z

07/10/2005 22:31:00
Quote Anchor link
Oke, voorkennis dus...
 
Alfred -

Alfred -

07/10/2005 22:39:00
Quote Anchor link
MySQL is hier nochtans niet hoofdlettergevoelig....

Of ik nu
SELECT * FROM tabel WHERE naam = 'rafael'
gebruik, of ik gebruik
SELECT * FROM tabel WHERE naam = 'RAFAEL'
beide geven hetzelfde resultaat :)

Edit:
Meer info, Windows XP, MySQL 4.0.23-nt, op m'n server ook net getest, Linux, MySQL 4.1.13-standard, werken beide perfect.

Ligt eerder aan het veld type denk ik... Ik heb TINYTEXT in gebruik op het desbetreffende veldje...
Gewijzigd op 07/10/2005 22:43:00 door Alfred -
 
Thijs X

Thijs X

07/10/2005 22:49:00
Quote Anchor link
Ik heb varchar als type veld en MySQL 4.1.12a
 
Alfred -

Alfred -

07/10/2005 23:04:00
Quote Anchor link
Quote:
VARCHAR
The range of Length is 1 to 255 characters. VARCHAR values are sorted and compared in case-insensitive fashion unless the BINARY keyword is given


Bron: http://help.scibit.com/Mascon/masconMySQL_Field_Types.html

Edit:
Quote:
A.5.1. Case Sensitivity in Searches

By default, MySQL searches are not case sensitive (although there are some character sets that are never case insensitive, such as czech). This means that if you search with col_name LIKE 'a%', you get all column values that start with A or a. If you want to make this search case sensitive, make sure that one of the operands has a case sensitive or binary collation. For example, if you are comparing a column and a string that both have the latin1 character set, you can use the COLLATE operator to cause either operand to have the latin1_general_cs or latin1_bin collation. For example:

col_name COLLATE latin1_general_cs LIKE 'a%'
col_name LIKE 'a%' COLLATE latin1_general_cs
col_name COLLATE latin1_bin LIKE 'a%'
col_name LIKE 'a%' COLLATE latin1_bin

If you want a column always to be treated in case-sensitive fashion, declare it with a case sensitive or binary collation. See Section 13.1.5, “CREATE TABLE Syntax”.

Before MySQL 4.1, COLLATE is unavailable. Use the BINARY operator in expressions to treat a string as a binary string: BINARY col_name LIKE 'a%' or col_name LIKE BINARY 'a%'. In column declarations, use the BINARY attribute.

Simple comparison operations (>=, >, =, <, <=, sorting, and grouping) are based on each character's “sort value.” Characters with the same sort value (such as ‘E’, ‘e’, and ‘é’) are treated as the same character.


Bron: http://dev.mysql.com/doc/mysql/en/case-sensitivity.html
Gewijzigd op 07/10/2005 23:06:00 door Alfred -
 
- Jim  -

- Jim -

08/10/2005 01:23:00
Quote Anchor link
Zoals Rafael iets dergelijks al beschreef (of hoe ik het ook ervaren heb), het heeft (voornamelijk) te maken met de database-collation. Het type database. Volgens mij is het ook te zien in PHPMyAdmin. Hierin kan je kiezen welk type database'opbouw; je wilt gebruiken,
en of deze opbouw case-sensitive (hoofdlettergevoelig) is.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.